1、第2章 数据的表示2.2.3机器数表示形式的变换2.2.3机器数表示形式的变换 真值是数据的实际值,机器数是数据在机器内的表示、运算形式 需要掌握各种机器数表示形式之间、真值和机器数之间的转换方法。1机器数转换为真值(1)已知原码求真值:将原码机器数的符号位转换为+、-号,数值部分就是真值的二进制数值。例例2-288位原码机中数据为11100111,求真值。解:原码数据最高位是符号位:1表示-后面7位是真值数据位1100111B。所以二进制真值是-1100111B=-103D(2)已知补码求真值 设X0为补码符号,X为真值,补码表示规则为X补=2n X0+X。则真值X=-2n X0+X补。若X
2、0是0,则X=+X补。若X0是1,X=-2n+X补=-(2n-X补)=(2n-1-X补+1)可见,若补码符号位是0,则真值为正数,补码数据位就是真值数据位。若补码符号位为1,则真值为负数,真值数据位等于补码数据位取反加1。(2)已知补码求真值 例例2-29已知X补=1011010,求真值X。解:根据机器数可知n=7;最高符号位为1,真值为负数。X=-100110B2补码移位运算 在计算机内部,可以通过移位寄存器对数据进行移位。对机器数右移一位,意味着原数值缩小一倍,为原数的1/2;而左移一位,原数扩大一倍,为原数的2倍。补码移位规则:左移:高位移出,末位补0。移出的位不同于符号位,则溢出。右移:高位补符号位,低位移出。2补码移位运算2补码移位运算3补码取负运算 设X0是符号位,X是真值,因为X补=2nX0+X,所以 对X补连同符号位按位取反加1,即可得-X补。4补码填充运算 计算机内部,有时需要将短数扩展为一个长数,此时需要进行填充处理。补码定点小数填充在末尾补0。定点整数符号位不变,在符号位后用数符补足所有位数。