正在加载图片...
·302: 附录A IEEE浮点运算标准 例A1单精度格式所能表示的十进制数范围 ·最大二进制正规数为7F7 FFFFF16=3.40282347×1038 ·最小正的二进制正规数为0800016=117549435×10- ·最大二进制次正规数为007 FFFFF16=1.17549421×10- ·最小(正的)二进制次正规数为0000000116=1.40129846×10-45 由此可见,浮点数所能表示的数的范围比定点数要大很多, 例A2双精度格式所能表示的十进制数范围。 ·最大二进制正规数为7 FEFFFFF FFFFFFFF16=1.7976931348623157×100 。最小(正的)二进制正规数为001000000000000016=2.2250738585072014×10-308 ·最大二进制次正规数为000 FFFFF FFFFFFFF16=2.2250738585072009×10-08 ·最小(正的)二进制次正规数为000000000000000116=4.9406564584124654×10-2 ·3FF000000000000016=1(补码) 白在MATLAB中,hex2num可以将一个由16个16进制数组成的字符串转化为其所对应 的浮点数(根据IEEE标准,类似的命令有hex2dec,bin2dec,base2dec,num2hex, dec2bin,... 例A.3把二进制数(1001.0101)2转换成十进制数. (1001.0101)2=1×23+0×22+0×21+1×20 +0×2-1+1×2-2+0×2-3+1×2-2 =9.312510 例A4把十进制数13.12510转换成二进制数 整数部分:1310=11012(银转相除法) 小数部分: 。0.125×2=0.25,整数位是0→.0: ·0.25×2=0.5,整数位是0+.00 ·0.5×2=1,整数位是1→.001;(小数部分已变为0,运算结束) 所以13.12510=1101.0012 一个十进制数能否用二进制浮点数精确表示,关键在于小数部分】 例A.5十进制数0.110能否用二进制数精确表示? 。0.1×2=0.2,整数位是0→.0: ·0.2×2=0.4,整数位是0→.00: http://math.ecnu.edu.cn/-jypan仅供课堂教学使用,请勿外传 · 302 · 附录 A IEEE 浮点运算标准 例 A.1 单精度格式所能表示的十进制数范围. • 最大二进制正规数为 7F7FFFFF16 = 3.40282347 × 1038 • 最小 (正的) 二进制正规数为 0080000016 = 1.17549435 × 10−38 • 最大二进制次正规数为 007FFFFF16 = 1.17549421 × 10−38 • 最小 (正的) 二进制次正规数为 0000000116 = 1.40129846 × 10−45 由此可见, 浮点数所能表示的数的范围比定点数要大很多. 例 A.2 双精度格式所能表示的十进制数范围. • 最大二进制正规数为 7FEFFFFF FFFFFFFF16 = 1.7976931348623157 × 10308 • 最小 (正的) 二进制正规数为 00100000 0000000016 = 2.2250738585072014 × 10−308 • 最大二进制次正规数为 000FFFFF FFFFFFFF16 = 2.2250738585072009 × 10−308 • 最小 (正的) 二进制次正规数为 00000000 0000000116 = 4.9406564584124654 × 10−324 • 3FF00000 0000000016 = 1 (补码) b 在 MATLAB 中, hex2num 可以将一个由 16 个 16 进制数组成的字符串转化为其所对应 的浮点数 (根据 IEEE 标准), 类似的命令有 hex2dec, bin2dec, base2dec, num2hex, dec2bin, ... 例 A.3 把二进制数 (1001.0101)2 转换成十进制数. (1001.0101)2 =1 × 2 3 + 0 × 2 2 + 0 × 2 1 + 1 × 2 0 + 0 × 2 −1 + 1 × 2 −2 + 0 × 2 −3 + 1 × 2 −2 =9.312510 例 A.4 把十进制数 13.12510 转换成二进制数. 整数部分: 1310 = 11012 (辗转相除法) 小数部分: • 0.125 × 2 = 0.25, 整数位是 0 → .0; • 0.25 × 2 = 0.5, 整数位是 0 → .00; • 0.5 × 2 = 1, 整数位是 1 → .001; (小数部分已变为 0, 运算结束) 所以 13.12510 = 1101.0012 一个十进制数能否用二进制浮点数精确表示, 关键在于小数部分. 例 A.5 十进制数 0.110 能否用二进制数精确表示? • 0.1 × 2 = 0.2, 整数位是 0 → .0; • 0.2 × 2 = 0.4, 整数位是 0 → .00; http://math.ecnu.edu.cn/~jypan
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有