程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作。下面我来讲讲位运算中的所有操作。
# 1:&操作
## 1.1:基础&操作
就是按位与,把两个十进制数都转换成二进制数,逐位比较,如果两个都是1那么答案数的那一位就是1,否则都是0。
## 例子如下:
```
49 = 110001
35 = 100011
答案:100001
100001的十进制值为33,所以49&35=33
```
## 1.2:a&=a-1操作
这个操作其实就是去除一位二进制位中的1,举个栗子:
```
36 = 100100
35 = 110001
答案:100000
就正好去除了一位二进制的1
```
# 2:|操作
这个也很简单就是按位或,如果当前两个二进制位中至少有一个是1答案就是1,否则就是0.
```
44 = 101100
52 = 110100
答案:111100
44|52=60
```
# 3:^操作
这个有点不一样,0^0还是等于0,0^1和1^0都等于1,1^1=0
例子:
```
53 = 110101
47 = 101111
答案:011010
所以53^47=26
```
基础位运算
最新推荐文章于 2024-08-22 15:48:46 发布