进制转换小技巧

1.求16进制的补码技巧

一.用15分别减去各个位得到一个十六进制数

二.用得到的十六进制数+1

例如:   求6A3D的补码

15-6=9        15- A=5        15-3=C        15-D=2            即得到95C2

再 +1 得95C3即为补码


2.负数补码快速转换为10进制的技巧

如:

1001 0011     

计算方法如下:

-1*2^7 +0*2^6 +0*2^5 +1*2^4 +0*2^3 +0*2^2 +1*2^1 +1*2^0 =-109


3.注意:

1000 0000求补码后的到的是本身,这是为什么呢?

一.因为8位数的补码的范围是-128~127      负数多出一位来是因为只有+0,没有-0,所以-0这个编码被当作了-128

二.因为对二进制表示的正127求补码得到的是二进制表示的-127的补码,然而8位补码的范围是-128~127,所以并没有+128,所以-128是个特殊的数

猜你喜欢

转载自blog.csdn.net/bzxdkp/article/details/81011342