【摘要】参考链接: https://blog.csdn.net/xiaopihaierletian/article/details/78162863 https://jingyan.baidu.com/article/29697b9106eb52ab21de3c7a.html 负数二进制表示: 原码二进制表示(负号不表示)—— 取反(反码) ——...
参考链接:
https://blog.csdn.net/xiaopihaierletian/article/details/78162863
https://jingyan.baidu.com/article/29697b9106eb52ab21de3c7a.html
负数二进制表示:
原码二进制表示(负号不表示)—— 取反(反码) ——补码(加一)
eg: -5 (0000 0101)——(1111 1010)——(11111 1011) (8位表示方式)(11111111 11111011)(16位表示方式)
补码就是负数在计算机中的二进制表示方法
负数二进制变十进制数:
eg:1111 1011 ——1111 1010(减一)——0000 0101 (取反) (-5)十进制表示
其实负数的:
十进制变二进制:原码--反码--加一(补码);
二进制变十进制:减一--反码--原码。
按位与运算符(&)
参加运算的两个数据,按二进制位进行“与”运算。
运算规则:0&0=0;0&1=0;1&0=0; 1&1=1;
即:两位同时为“1”,结果才为“1”,否则为0
例如:3&5即0000 0011& 0000 0101 = 00000001因此,3&5的值得1。
另,负数按补码形式参加按位与运算。
“与运算”的特殊用途:
(1)清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。
(2)取一个数中指定位
方法:找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数与X进行“与运算”可以得到X中的指定位。
例:设X=10101110,
取X的低4位,用X&0000 1111 = 00001110即可得到;
还可用来