1.正常的正数算10进制转2进制是怎么算?
以25为例:
(1)25除2=12,余1
(2)12除2=6,余0
(3)6除2=3,余0
(4)3除2=1,余1
(5)1除2=0,余1
然后从下往上整理为11001,按照8位2进制的写法,25的2进制为00011001
2.负数的二进制涉及补码的概念
啥叫补码,别管什么定义,记住一句话“按位取反再+1”就行~
以-25为例:
上面已经求出25的8位2进制为00011001,直接按位取反再+1就行,就是0变1,1变0嘛~按位取反就是11100110嘛,再加1(8位2进制)就是11100110
+ 00000001
= 11100111
~也就是说-25的8位2进制是11100111,这就是 -25 在8位二进制补码表示法下的二进制形式。
在补码系统中,正数和负数的表示是对称的,所以正25的补码就是它自身的二进制表示,而负25的补码就是它的反码加1。非常简单~