1.原码、反码、 补码
正数的原码、反码、 补码都一样 正数以原码存储在计算机
负数 以补码存储在计算机
例:17 原码、反码、补码 都是 0001 0001
-15在计算机中存储是补码11110001
原码:1000 1111
反码:1111 0000
补码:1111 0001
2.取反 NOT ( ~ )
一元运算符 二进制各位是数字1成为0 0成为1
3.按位或 OR ( | )
两个二进制数,只要有1该位计算后值为1
1011 0010
0001 1010
OR |-----------
1011 1010
4.按位与AND ( & )
都是1 才为1否则是0
1001 1101
0111 1000
AND &-----------
0001 1000
5.按位异或XOR ( ^ )
不相同为1 相同为0
1010 1110
1001 1010
XOR ^ --------------
0011 0100
**6.左移<< **
汇编左移符号 shl
用来将一个数各二进制位全部向左移动若干位。高位丢弃 低位补0
0001 0110 0001 0110 //22
<<1---------- <<2-------------
0010 1100 0101 1000 //88
注意,观察可以发现,左移一位的结果就是原值乘2,左移两位的结果就是原值乘4
**6.右移>> **
汇编右移符号 sar高位补1 shr 高位补0
用来将一个数各二进制位全部向左移动若干位。高位补0或符号位 低位丢弃
0110 1010 0110 1010 //
>>2 sar ---------- shr ----------
0001 1010 1101 1010
注意,观察可以发现,右移一位的结果就是原值除2,右移两位的结果就是原值除4,取整
网友评论