算数位运算:
1. 与-------->and &
2. 或-------->or |
3. 非-------->not ~
4. 异或------>xor (^)
1. 知识点一 补码
正整数的补码是这个正整数的原码
例如:00001011的补码就是00001011
负整数的补码是将这个负整数取反后加一
例如:10000001的补码就是01111111
2. 知识点二 位移运算
左移
在二进制下表示把数字同时向左移动,低位以0填充,高位越界后舍弃
例如:00001111<<4 = 11110000
运算,十进制下,牢记后面的公式:$1<<n=2^n$ $n<<1=2n$
算数右移
在二进制补码下表示把数字同时向右移动,高位以符号位填充,低位越界后舍弃
十进制下公式:$n>>1=\lfloor \frac{n}{2.0} \rfloor$
算术右移等于除以2向下取整
例如:3>>1=1
逻辑右移
在二进制补码下表示把数字同时向右移动,高位以0填充,低位越界后舍弃