2.1机器内的数据表示
目录
二进制具有运算简单、便于物理实现、节省设备等优点,所以被计算机采用。二进制数与十进制数一样有正负之分。 在计算机中,常采用数的符号和数值一起编码的方法来表示数据。常用的有原码、补码、反码和移码等几种表示方法,这几种表示法都将数据的符号数值化。对于原码、反码和补码而言,数据的最高位(最左位)为“0”时,表示该数为正数;数据的最高位(最左位)为“1”时,表示该数为负数。对于移码,则正好相反,数据的最高位为“0”时,表示该数为负数;数据的最高位为“1”时,表示该数为正数。为了区分一般书写时表示的数和机器中编码表示的数,我们称前者为真值,后者为机器数。
机器内的数据表示
1.原码
表示法原码(true form)是一种计算机中对数字的二进制定点表示方法、一种直观的数据表示方法,除符号被数值化以外,数值部分仍保留着其真值的特征。
2.反码
反码通常是用来由原码求补码或者由补码求原码的过渡码,运算相对原码简单:符号位参加运算, 只需要设置加法器,但符号位的进位位需要加到最低位。例如下图
3.补码
补码相对于原码复杂,但零的表示是唯一的。补码是计算机把减法运算转化为加法运算的关键编码,补码运算简单,只需设置加法器。
4.移码
计算机中如何判断一个数是否为“机器零”有两条件,分别为当浮点数尾数为0时,不论其阶码为何值按机器零处理;另外,当浮点数阶码等于或小于它所表示的最小数时,不论尾数为何值,按机器零处理。
5.机器码举例
举例:
- X=+1011
原= 反= 补= 01011- X= –1011
原=11011
反=10100
补=10101- 0的表示: [+0]原= 00000
[-0]原=10000 [+0]反= 00000
[-0]反=11111 [+0]补= 00000=[-0]补