进制转换
补码表示
负整数用补码表示时,使用的数学原理是:一个整数的补码是其加法逆元
二进制补码
将一个二进制整数按位取反再加1
例如二进制数00001011
初始值 | 00001011 |
---|---|
按位取反 | 11110100 |
+1得到补码 | 11110101 |
补码操作是互逆的,所以11110101的补码也是00001011
十六进制补码
同二进制取补码,按位取反再加1
十六进制取反的方法就是用15减去该数字
例如
6A3D --> 95C2 + 1 --> 95C3
95C3 --> 6A3C + 1 --> 6A3D
有符号二进制 --> 十进制
如果最高位是1,则该数为补码,再次对其求补,得其正数值,求十进制数
如果最高位是0,直接转换成十进制数
例如
11110000 --> 求补00010000 -->求十进制 16
因为为负数 所以其十进制数为-16
00001111 -->求十进制15
所以其十进制数为15
有符号十进制 --> 二进制
将十进制数的绝对值转化为二进制,若该数为负数则求其补码
例如
43 --> 00101011
-43 --> 00101011 --