十进制负数转换成二进制时,首先将负数转换为对应的原码(去 - 号后的整数转化为二进制),然后将原码的每一位做取反操作得到反码。(取反操作:0变为1,1变为0),最后将反码+1得到补码就是所求的二进制。当然这里我们都是以有二进制符号数计算的。
二进制(符号位为1)转换为十进制则由上面的方法反过来就好。
楼主的-6二进制右移2位为 11111111 11111111 1111111 11111010 >> 2 为 11111111 11111111 11111111 11111110 由于符号位为(-)依上边十进制转二进制的方法反过来转换正好是 -2。 |