进制盲点
负数的二进制
我们都知道怎么一个正的十进制数的二机制转换采用<除10取余法>,就是一直除10然后取余数,直到除数为0,然后把余数倒过来
但是负数的二进制呢,其实就是其正数的二进制<原码>的<反码> 1,实际操作下-8的二进制:
首先计算8的二进制,如下:
8 -> 0000 0000 0000 1000
-8 -> 1000 0000 0000 1000 (因为首位表示正负,负数该位为1,得到原码)
1000 0000 0000 1000 -> 1111 1111 1111 0111 (取反码,除了符号位,原码其余取反)
1111 1111 1111 0111 -> 1111 1111 1111 1000 (补码,反码 1)
所以-8的二进制表示就出来了