前言:
二进制无法表示负数,只能表示正数
(比如四位二进制0000-1111表示的范围是0-15, 8位二进制0000 0000-1111 1111表示的范围是0-255)
所以计算机科学家把二进制数经过调整,变成了二进制补码,发现二进制补码进行数学运算是正确的(符合数学规律)这样就以用二进制补码来表示数据(最左边位1的二进制数表示负数, (最左边位0的二进制数表示正数)
一、4位二进制和4位二进制补码对照表.png
二、8位二进制和8位二进制补码对照表.jpg
三、二进制位运算
1&是二进制数按位与运算(两个二进制数据之间写上 & 符号 )
(0和1按位与运算结果是0 ,1和0结果也是0, 1和1按位与运算结果是1)
2|是二进制数按位或运算(两个二进制数据之间写上 | 符号 )
(0和1按位与运算结果是1 ,1和0结果也是1, 1和1按位与运算结果也是1,0和0结果是0)
3^是二进制数按位异或运算(两个二进制数据之间写上 ^ 符号 )(找不同)
(两个二进制数相同用^进行按位异或运算结果是0,两个二进制数不同用^进行按位异或运算结果是1, 举例:0^1结果是1,1^0结果是1, 0^0结果是0, 1^1结果是0)
4~是二进制数按位取反运算(1个二进制数前边写上 ~ 符号 , 运算规则是:把0变成1,1变成0)
5<<是二进制数按位左移运算(1个二进制数后边写上 << 符号,然后再写上一个整数,
举例 1101<<3, "二进制数<<n"的 运算规则:把这个二进制数在下一行偏左n位书写<剩下其他二进制位和原有数据对齐,然后删除左边多出的n位,再给右边补n个0>)
6和7具体看图片,自己理解
------------------------------
zhaoyq 2022-03-23 11:09