计算机中的二进制机器数分为:有符号数和无符号数。
无符号数:二进制的每一位都代表对应位的数值。
有符号数:在有符号数中规定最高位来表示数据符号,其中1代表负,0代表正。
真值:把带符号位的机器数所对应的真正数值成为机器数的真值,例如:00100001的真值为33,10100011的真值为-35
字长:计算机一次可处理的二进制数的码位长度。字长越长代表计算机的处理能力越强,例如在8位的子长中,因为高位要用于符号位,所以处理的数值大小位2的7次方-1.
二进制数的四种表现形式:
源码:在二进制数中用第一位(最高位)来表示符号,1 为正,0为负。例如:00000011 代表 +3 ,10000011 代表 -3.
补码:解决源码的异号相加减的问题,正数的补码和源码相同,负数的补码是通过先把除符号位外其他位取反,再在末尾(最低位)加1。优点:可以把符号位一起运算,0只有一种表示形式,没有二义性。
反码:对二进制负数按位(除符号位)取反。正数的反码和源码相同。
移码:是一种特殊的二进制表示形式,1.正数的符号位为1,负数的符号位为0。2.真值部分与补码一样。移码:先求出它的补码,然后再把符号位取反。或者[x]移码=2的n次方(n为二进制的位数,不包括符号位)的二进制+x ,例如:[-11010]移码 = 2的五次方+ (-11010)