& 与 只有都为1结果为1
0 & 0 = 00 & 1 = 01 & 0 = 01 & 1 = 1
| 或 只要一个为1结果为1
0|0=0
0|1=1
1|0=1
1|1=1
^ 异或 两个相同的数字为0,其余为1
0^0=0
1^0=1
0^1=1
1^1=0
~ 取反 将进制位数进行取反
~1=-2 //0000 0001-->代表1//取反后 补码 1111 1110 最前面的1 代表这是负数。//输出时,先将补码 减 1 得 1111 1101-->这个数即为需要的反码//结果为--> 将 反码 符号位不变,其余位取反得 真正 输出的原码//1000 0010 --> -2~0=-1
1、计算机是以补码方式存储的是二进制 --->重点 重点 重点
1、1 正数的补码即原码 例如 1--》0000 0001
1、2 负数的补码为原码取反加一得到 例如 -1 原码 1000 0001
补码=原码取反+1 --》1111 1111 符号位不变(第一个数)。计算机存储的是这个数
--------------------------------------------------------------------------------------------------------------
但是负数输出时。将补码再取反(以上面为例) 得 0000 0000。
由于第一个数为0 系统认为这个是正数的补码。既这就是我们输出的数-->0
-------------------------------------------------------------------------------------------------------------
取反运算简便方法
-(a+1) a可以代表正数 负数 零