1.原码 反码 和 补码
二进制位元算包括按位与、按位或、按位异或、取反、左移以及右移这几种运算,运算都使用补码,结算的结果也是补码
如果其他进制,比如最常见的十进制要进行二进制位运算,那么先得把十进制数转成二进制数
在了解二进制位运算之前,就要先掌握进制转换,那么先来复习一下几个概念:原码、反码、补码
以下我们假设整数均用1个字节表示,1个字节即8个二进制位
1.1 原码
计算机对数字的二进制表示,原码使用最高位表示符号位:0表示正数,1表示负数,比如
0 0 0 0 1 0 1 1 =====》 表示正数 11
1 0 0 0 1 0 1 1 =====》 表示负数 -11
原码的缺点是:不能直接参与运算
比如上述 11 + (-11) 结果应该为 0 才对,但是如果我们把二进制直接相加(注意逢2进1)
1 0 0 1 0 1 1 0 =====》 表示负数 -22
很明显不对,所以为了表示正确的计算,又定义了反码和补码的,参与运算的都是补码