1、机器数和真值
学习计算机之后,都知道了数据在计算机中的存储是以二进制数进行存储的,即都是由0和1这样的二进制数进行存储的。所以一个数在计算机中的二进制表示就叫做这个这个数的机器数。其中,最高位是符号位,正数为符号位为0,负数符号位为1.
因为一个数的二进制表示,也就是该数的机器数的第一位是符号位,所以,机器数的值并不能表示该数真正的值,例如:十进制正数:+3,在计算机中用八位二进制来存储,转换成二进制就是:000 000 11;十进制负数:-3,它的机器数是:100 000 11,如果从不考虑机器数的含义,只从字面上看的话,100 000 11转换成十进制数字就是27 + 21 + 2**0 = 128+2+1=131,但是机器数100 000 11表示的值却是十进制数-3,所以将带符号位的机器数对应的真正数值称为机器数的真值,即100 000 11的真值为-3。
2、原码,反码,补码
**原码:**最高位表示符号位,其余部分表示数值本身的绝对值。
[+1]原[+1]_原[+1]原 = 000 000 01
[−1]原[-1]_原[−1]原 = 100 000 01
第一位表示的是符号位,所以二进制数的取值范围是[111 111 11,011 111 11],即十进制:[-127,127]
**反码:**如果是正数,反码就是其本身,如果是负数,则除符号位不变,其他位取反,即0变为1,1变为0。
[+1] = [00000001]原[000 000 01]_原

计算机中的数据以二进制的机器数形式存储,其中最高位为符号位。原码直接表示数值,正数为0,负数为1。反码正数不变,负数除符号位外各位取反。补码正数同原码,负数反码加1。计算机使用补码表示数,通过补码、反码和原码的转换可计算真值。

1386

被折叠的 条评论
为什么被折叠?



