计算机中定点数表示方法——移码

(1)移码定义
移码通常用于表示浮点数的阶码。
假设定点整数移码形式为 x0 x1 x2 ··· xn时,移码的定义是:
[x]移=2^n+x ( -2^n≤ x<2^n)
在这里插入图片描述

8 位移码表示的机器数为数的真值在数轴上向右平移了 128 个位置。 表示范围: 00000000 ~ 11111111

例1:当正数 x = +10101 时,
[x]移= 2^5 + 10101 = 1,10101 ;
例2:当负数 x = -10101 时,
[x]移= 2^5 +x = 2^5 – 10101 = 0,01011
例3:0的移码是唯一的,即:
[+0]移 = [­0]移 = 100…00

[注意]: 移码中符号位 x0表示的规律与原码、 补码、反码相反——“1”正,“0”负。

(2)移码和补码的关系:
补码的定义:
在这里插入图片描述
移码的定义:在这里插入图片描述

当 0 ≤x < 2n 时, [x]移 = [x]补+ 2^n
当 -2^n≤x <0 时, [x]移 = 2^n +x + 2^n - 2^n = [x]补- 2^n

(3)移码的特点
• 在移码中,最高位为0表示负数,最高位为1表示正数,这与原码、补码、反码的符号位取值正好相反。
• 移码为全0时所对应的真值最小,为全1时所对应的真值最大! 因此,移码的大小直观地反映了真值的大小,这将有助于两个浮点数进行阶码大小比较。
真值0在移码中的表示形式是唯一的,即:[+0]移= [­0]移= 100…00
• 移码把真值映射到一个正数域,所以可将移码视为无符号数,直接按无符号数规则比较大小。
• 同一数值的移码和补码除最高位相反外,其他各位相同。

移码、补码和真值之间的关系

真值(十进制)真值(二进制)[x]补(补码)[x]移(移码)
-128-1000 00001000 00000000 0000
-127-0111 11111000 00010000 0001
-1-000 00011111 11110111 1111
00000 00000000 00001000 0000
10000 00010000 00011000 0001
1270111 11110111 11111111 1111

版权声明:本文为Dnesity原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。