正在加载图片...
A3IEEE中的浮点数运算 303 ·0.4×2=0.8,整数位是0→.000 ·0.8×2=1.6,整数位是1→.0001: ·0.6×2=1.2,整数位是1→.00011 ·0.2×2=0.4,整数位是0→.000110: 得到一个无限循环的二进制小数,显然用有限位字长是无法表示的,因此0.10无法用EEE754 浮点数精确表示. 同理可知0.2.0.4.0.6.0.8.0.3.0.7.0.9也是无法精确表示的.故0.1至0.9的9个小数中.只 有0.5可以精确表示. 例A6能用二进制数精确表示的十进制小数.易知 0.12=2=0.5 0.012=28=0.25 0.0012=20=0.125 0.00012=20=0.0625 0.000012=20=0.03125 0.0000012=20=0.015625 0.00000012=20=0.0078125 0.000000012=20=0.00390625 由此可知,一个十进制小数要能用浮点数精确表示,最后一位必须是5.当然这是必要条件,并非 充分条件.如0.35就无法精确表示. 例A7N位二进制小数能精确表示的非零十进制小数总共有多少个? ·1位二进制小数能精确表示的有20=1个(0.12=0.510: ·2位二进制小数能精确表示的有21=2个(0.012=0.2510,0.112=0.7510: ·3位二进制小数能精确表示的有2=4个 ·N位二进制小数能精确表示的有2V-1个 所以N位二进制小数能精确表示的十进制小数总共有2V-1个 A.3IEEE中的浮点数运算 。EEE754标准也定义了浮点数的运算规侧: -加.减、乘.除。平方根.余数、将浮点格式的数含人为整数值、在不同浮点格式之向 转换、在浮点和整数格式之间转换以及比较:EEE对以上浮点运算的准确度作了规定: http://math.ecnu.edu.cn/-jypan 仅供课堂教学使用,请勿外传 A.3 IEEE 中的浮点数运算 · 303 · • 0.4 × 2 = 0.8, 整数位是 0 → .000; • 0.8 × 2 = 1.6, 整数位是 1 → .0001; • 0.6 × 2 = 1.2, 整数位是 1 → .00011; • 0.2 × 2 = 0.4, 整数位是 0 → .000110; • · · · · · · 得到一个无限循环的二进制小数, 显然用有限位字长是无法表示的, 因此 0.110 无法用 IEEE 754 浮点数精确表示. 同理可知 0.2, 0.4, 0.6, 0.8, 0.3, 0.7, 0.9 也是无法精确表示的. 故 0.1 至 0.9 的 9 个小数中, 只 有 0.5 可以精确表示. 例 A.6 能用二进制数精确表示的十进制小数. 易知 0.12 = 2−1 10 = 0.5 0.012 = 2−2 10 = 0.25 0.0012 = 2−3 10 = 0.125 0.00012 = 2−4 10 = 0.0625 0.000012 = 2−5 10 = 0.03125 0.0000012 = 2−6 10 = 0.015625 0.00000012 = 2−7 10 = 0.0078125 0.000000012 = 2−8 10 = 0.00390625 · · · · · · 由此可知, 一个十进制小数要能用浮点数精确表示, 最后一位必须是 5. 当然这是必要条件, 并非 充分条件. 如 0.35 就无法精确表示. 例 A.7 N 位二进制小数能精确表示的非零十进制小数总共有多少个? • 1 位二进制小数能精确表示的有 2 0 = 1 个 (0.12 = 0.510); • 2 位二进制小数能精确表示的有 2 1 = 2 个 (0.012 = 0.2510, 0.112 = 0.7510); • 3 位二进制小数能精确表示的有 2 2 = 4 个 • · · · · · · • N 位二进制小数能精确表示的有 2 N−1 个 所以 N 位二进制小数能精确表示的十进制小数总共有 2 N−1 个. A.3 IEEE 中的浮点数运算 • IEEE 754 标准也定义了浮点数的运算规则: ­ 加、减、乘、除、平方根、余数、将浮点格式的数舍入为整数值、在不同浮点格式之间 转换、在浮点和整数格式之间转换以及比较: IEEE 对以上浮点运算的准确度作了规定: http://math.ecnu.edu.cn/~jypan
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有