212机器数的编码格式 补码表示法 1.模 13 模为12 2 0 2 q 3 例:11-2= 11-2=11+10 8 4 7;5 =21 2112=9
2.1.2 机器数的编码格式 二. 补码表示法 1.模 13 -2 模为12 例:11-2 = ? 11- 2 = 11+10 = 21 21-12 = 9
212机器数的编码格式 2.补码定义 Ⅺ|补=M+X(modM) ■定点小数的补码可定义为: 1>X≥0 X 补 2+X=2-X-1≤X<0 定点整数的补码可定义为: 2X≥0 X 补 2n1+x=2m1-X 2n≤X<0
2.1.2 机器数的编码格式 2. 补码定义 [X]补 = M + X (mod M) ◼ 定点小数的补码可定义为: X 补 X 1 >X ≥0 2+X =2-|X| -1 ≤ X <0 ◼ 定点整数的补码可定义为: X 补 2 n+1+X = 2n+1 -|X| - 2 n ≤ X< 0 X 2n>X ≥0
212机器数的编码格式 3.补码的性质 ■符号位是数值的一部分,可以与尾数一起 直接参与运算,不需要单独处理。 ■所有负数的最高有效位都是1,硬件只需检 测该位就可判断是正数还是负数。 ■数0只有一种表示,即00 ■■■■■ ■补码可以取到负方向最值
2.1.2 机器数的编码格式 3. 补码的性质 ◼ 符号位是数值的一部分,可以与尾数一起 直接参与运算,不需要单独处理。 ◼ 所有负数的最高有效位都是1,硬件只需检 测该位就可判断是正数还是负数。 ◼ 数0只有一种表示,即00……0。 ◼ 补码可以取到负方向最值
212机器数的编码格式 4.原码与补码的互换 ■正数:补码表示与原码表示相同 ■负数:原码的符号位保持不变,其余各位 取反,末位再加1。 例: X]原=1.1010 变反:1.0101 末位加1: 1 X补=1.0110
2.1.2 机器数的编码格式 4. 原码与补码的互换 ◼ 正数:补码表示与原码表示相同 ◼ 负数:原码的符号位保持不变,其余各位 取反,末位再加1。 ◼ 例: [X]原 =1.1010 变反: 1.0101 末位加1: 1 [X]补 =1.0110
212机器数的编码格式 5二进制补码转换十进制数 32位二进制补码可按如下公式转换: (31×(-2)+(x30×2)+(x29×2)+…+(xl×2)+(x0×2 例:以下32位二进制补码对应的十进制数是多少? 11111111111111111111111111111100 解:1111111111110 1×231+1×230十,+1×22+0×21+0×20 2,147,483,648+2,147,483,644 10
2.1.2 机器数的编码格式 5.二进制补码转换十进制数 32位二进制补码可按如下公式转换: 例:以下32位二进制补码对应的十进制数是多少? 1111 1111 1111 1111 1111 1111 1111 11002 解:1111 1111 1111 1111 1111 1111 1111 11002 = –1×2 31 + 1×2 30 + … + 1×2 2 +0×2 1 +0×2 0 = –2,147,483,648 + 2,147,483,644 = –410 ( 31 ( 2 )) ( 30 2 ) ( 29 2 ) ( 1 2 ) ( 0 2 ) 3 1 3 0 2 9 1 0 x − + x + x +… + x + x