正在加载图片...
由于尾数的最大值(1-2")在n足够大时可认为是1,故依要求,有22-≥1050, 两边取以10为底的对数,则2m-1≥350,所以m≥g(50 +1)÷l2≈74。取m=8, 另加一位阶符共9位 由于精度要求为6位十进制数的有效数字,则:2≤10-6 即n≥6≈199,取n=20, 另加一位数符,再考虑字长通常是8的整倍数,故尾数共为23位。 (2)规格化浮点数 ①什么叫规格化数? 尾数的最高位为非零数值的浮点数,即 .4MkI(R=2) 例:20×0.1011--规格化 2m×0.01011--非规格化 ②为什么要规格化? a.使一个数的浮点表示是惟一的 b.能保留最多的有效数字,避免丢失运算精度。 例:计算0.1101×0.0001的乘积 【解】:定点运算法:0.1101×0.0001-=0.00001101 取高位乘积:0.1101×00001=00000 浮点运算法:0.1101=2×0.1101,00001=2×0.1000 即:(2×0.1101)×(2×0.1000=2×001101000 左规 200×0.11010000 可见浮点运算精度高。 ③如何实现规格化? a若M≥1,则将尾数右移,每右移一位,阶码加1,称为向右规格化,简称右规 b若NF2,则将尾数左移,每左移一位,阶码减,称为向左规格化,简称左规 c.判断补码表示的尾数规格化的逻辑表达式为 N= M,MI+M,MI (2.10) 其中,Ms为数符,M1为补码尾数的最高位 可见,当N=1时,尾数为规格化尾数 小结: h规格化的过程,就是自动调节比例因子的过程 批注 b.尾数为零的浮点数不能规格化。 ④规格化浮点数的表数范围 ×2s|s2×(1-2")(21) 例:m=2,n=4,)21(2||2 1)1 12 n m m N −− − − 2 −×≤≤× − 2( − 21( 5012 ≥102 −m 由于尾数的最大值 ) 在 n 足够大时可认为是 1,故依要求,有 , −n 两边取以 10 为底的对数,则 2lg 50 1 ≥− m2 , 所以 4.72lg)1 2 ≈÷+ lg 50 ≥ lg( 6 10− ≤ −n m 。取 m=8, 另加一位阶符共 9 位。 由于精度要求为 6 位十进制数的有效数字,则:2 ,即 9.19 6 ≈≥ 2lg n ,取 n=20, 另加一位数符,再考虑字长通常是 8 的整倍数,故尾数共为 23 位。 (2)规格化浮点数 ① 什么叫规格化数? 尾数的最高位为非零数值的浮点数,即: 1|| 2 1 M <≤ (R=2) 例: 2011×0.1011 ---- 规格化 2100×0.01011 ---- 非规格化 ② 为什么要规格化? a.使一个数的浮点表示是惟一的 b.能保留最多的有效数字,避免丢失运算精度。 例:计算 0.1101×0.0001 的乘积 【解】:定点运算法:0.1101×0.0001=0.00001101 取高位乘积:0.1101×0.0001=0.0000 0 ×0.1101, 0.0001=2 浮点运算法:0.1101=2 -11×0.1000 即:(20 × -11 0.1101)×(2 ×0.1000)=2-11×0.01101000 左规 =2-100×0.11010000 可见浮点运算精度高。 ③ 如何实现规格化? a.若 |M|≥1 ,则将尾数右移,每右移一位,阶码加 1,称为向右规格化,简称右规。 b.若 |M|< 2 1 ,则将尾数左移,每左移一位,阶码减 1,称为向左规格化,简称左规。 c. 判断补码表示的尾数规格化的逻辑表达式为: N = s 1 + s MMMM 1 (2.10) 其中, Ms 为数符,M1 为补码尾数的最高位。 可见,当 N=1 时,尾数为规格化尾数 小结: a. 规格化的过程,就是自动调节比例因子的过程; b. 尾数为零的浮点数不能规格化。 批注 [M1]: ④ 规格化浮点数的表数范围: )21(222 1)12( 12 n m m N −−− − − −×≤≤× (2.11) 例:m=2,n=4,则
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有