24. 1 、定点数的表示方法: 例如: 123.45 = 0 . 12345 X 10 3 纯小数 123.45 = 12345 X 10 -2 纯整数 假设用一个 n+1 位表示定点数 X = X 0 X 1 X 2 …X n , X 0 : 表示符号(放在最左位置,“ 0” 正号 / “1” 负号), X 1 X 2 …X n : 其余位数代表数值。 对于任意一个定点数,在定点计算机中数的表示格式如下: X 0 X 1 X 2 … X n 尾数(数值) 符号 1.3 、小数点的处理(定点、浮点)
25. 定点小数 : 小数点位于在 X 0 和 X 1 之间,表示纯小数。 数值范围: 当 X 1 X 2 …X n 各位是 0 时: 0 .0000000 , |X| 最小 =0 当 X 1 X 2 …X n 各位是 1 时: 0 .1111111 , |X| 最大 =1-2 -n 0≤ |X|≤1-2 -n X 0 X 1 X 2 … X n 尾数(数值) 符号 小数点的这个点在计算机中是 隐含约定 的,不出现的。 1.3 、小数点的处理(定点、浮点)
26. 定点整数 : 小数点位于最低位的右边。 数值范围: 当 X 1 X 2 …X n 各位是 0 时: 0 0000000 , |X| 最小 =0 当 X 1 X 2 …X n 各位是 1 时: 0 1111111 , |X| 最大 =2 n+1 -1 0≤X≤2 n+1 -1 X 0 X 1 X 2 … X n 尾数(数值) 符号 1.3 、小数点的处理(定点、浮点)
27. 定点小数数值表示: X = X 0 X 1 X 2 …X n X 0 =0,X i ={0,1}, 0≤i≤n X 1 2 -1 + … + X n-1 2 -n+1 + X n 2 -n 例如: X = 0.10101 其数值 = 2 -1 +2 -3 +2 -5 = 21/32 定点整数数值表示: X = X 0 X 1 X 2 …X n X i ={0,1}, 0≤i≤n X 0 2 n + X 1 2 n-1 + … + X n-1 2 1 + X n 例如 : X = 010101 其数值 = 2 4 +2 2 +2 0 = 21 1.3 、小数点的处理(定点、浮点)
28. 阶码 浮点数 机器格式: 尾数 阶符 数符 浮点数: 小数点的位置根据需要而浮动。 N = S × r j r :基数 ,通常 r = 2 。 j :阶码 ,常为 纯整数 ,用移码或补码表示。 S :尾数 ,常为 纯小数 ,用原码或补码表示。 j 和 S 都是 带符号的数 例如: 1 0011101 * 2 0 1101000 0 1101000 1 0011101 现在大部分计算机都是采用浮点运算。 0 . 12345 X 10 3 1.3 、小数点的处理(定点、浮点)
31. 计算机中的 机器数 常用三种不同的表示方法: 原码、 补码、反码。 原码 的表示方法: 一个二进制数 X = X 0 X 1 X 2 … X n ,原码的编码方法是 当 X ≥ 0 时, [X] 原 的代码是: 0 X 1 X 2 … X n 当 X ≤ 0 时, [X] 原 的代码是: 1 X 1 X 2 … X n X 0 是符号位 X 1 X 2 … X n 是数据的二进制数值。 1.4 、原码的表示方法 一个符号 + 数据的绝对值
32. 1 )原码定点整数的表示方法 ( X 0 X 1 X 2 … X n ) [X] 原 = X 2 n > x≥0 2 n -x=2 n +|x| 0≥x > -2 n [X] 原 是机器数, X 是真值。 一个 n+1 位整数,原码能表示的数值范围是: ( 1111…1 ) -2 n +1 ≤x ≤2 n -1 ( 0111…1 ) 对于给定的原码 [X] 原 ,它的真值 X 可根据下列公式求得: X=(-1) x0 (x 1 2 n-1 …+x n-1 2 1 +x n 2 0 ) 例如 : 假设 x=1010 , y=-1010 ,求 [x] 原 , [y] 原 解 :原码数值部分与它的二进制位相同,加上符号位后 得 [X] 原 = 0 1010 [y] 原 = 1 1010 1.4 、原码的表示方法
33. 2 )原码定点小数 的表示方法 ( X 0 X 1 X 2 … X n ) [X] 原 = X 1 > x≥0 1- X =1+| X | 0≥x > -1 一个 n+1 位的定点小数原码能表示的数值范围为: ( 1.111…1 ) -1+2 -n ≤x≤1-2 -n ( 0.111…1 ) 对给定的小数原码 [x] 原 ,它的真值 x 可根据以下公式求得: X=(-1) x0 (x 1 2 -1 …+x n-1 2 - ( n-1 ) +x n 2 -n ) 例如: 假设 x = 0.1010, y = - 0.1010 求 [x] 原 [y] 原 . 解 :原码数值部分与它的二进制位相同,加上符号位后 [X] 原 = 0. 1010 [y] 原 = 1. 1010 1.4 、原码的表示方法
42. 1 )定点整数的补码 对于一个 n+1 位的二进制整数 X = X 0 X 1 X 2 … X n , 则补码表示的定义为: [X] 补 = x 2 n > x≥0 2 n+1 -|x| 0≥x≥-2 n ( mod 2 n+1 ) 1.6 、补码的表示方法 正数的补码 与原码相同; 负数的补码 是将二进制位按位取反后,末位加 1 。
48. 补码的特性 (解决了负数符号问题!我们重点研究补码!!!) ( 2 )采用补码运算,符号位可以与数值一起参加运算,只要结果不超 出机器所能表示的数值范围; 无须单独设置符号处理线路。(原码运算,符号位要单独处理) 1.6 、补码的表示方法 对于带符号数 x , y 下列公式成立: [ x ] 补 + [ y ] 补 = [ x + y ] 补 ( mod M ) [ x ] 补 + [- y ] 补 = [ x - y ] 补 ( mod M ) ( 3 )目前大多数小 / 微型计算机 ALU ,只设加法器。采用补码运算后, 可将 正数 + 负数 转化成 正数 + 正数 ,又可将减法转化成加法运算, 这样只设加法器就可以了。 现在几乎所有的计算机都是采用补码运算! 所以,我们研究运算方法和运算器时,只研究补码运算!