正在加载图片...
n=2时查表法的舍入规则及误差情况分析 ROM地址舍入前(p+g位)舍入后(p位 误差情况 000xx…×00×x…×x×…×00 2P1(1-29+1)~0 }+2p-1 001xx…×Xxx…×01+ 011×x…×011xx×x…×x10|+2p9~21o 010×x…×010×x…X×x…×01 1(1-29+1) }+2P1 0|-201(1-29+1)~0 }+2p1 101xx…×101x×…“×xx…1×11+ 110xx…×110x….×xx…×11-20129+1)~0 11110×01101××11+2°(129)~-2a1}-2p1(29-1 关于舍入方法的主要结论 (1)恒置法虽有少量的积累误差,且损失一位精度,但由于实现起来很容易, 已普遍在小型及微型机中使用。 (2)R*舍入法是唯一一种积累误差能达到完全平衡的舍入方法,但由于实现 起来非常复杂,仅在极少数对误差要求非常高的具型计算机中才采用。 3)下舍上入法只有少量的积累误差,且精度也比较高,但实现起来很复杂, 在用软件实现的算法中经常采用 (4)查表法实现比较容易,积累误差很小,而且可以通过改变ROM或PLA中 的内容来修正积累误差,因此是一种很有前途的舍入方法 五种舍入方法的主要性能比较 舍入方法在正数区的误差范围正数区的积累误差实现的难易程度 恒舍法 2p(1-29)~0 +2p1(29-1) 最简单 恒置法 2(1-29)~+2+2 很简单 下舍上入法-201(1-291)~++2p1 很复杂 R*舍入法|-2P-1~+2p1 0 最复杂 查表法 2(1-29)~+2p1+2P1(2n-29) 般 p是规格化尾数有效位的字长,g是尾数有效字长之外的长度, n是查表法中ROM或PLA的字长 7、警戒位的设置方法 为了保证浮点数在运算和转换过程中的精度,在规定的尾数字长之外,运算 器中的累加器需要另外增加的长度称为警戒位( Guard Digit or Guard Bit)。 ·不设置警戒位,可能出现很大的误差。一个例子: 例1:0.10000000×20-0.11111101×21,没有警戒位时: 0.10000000×2 对阶:+1.10000001×20 求和: 0.00000001×2 左规 0.10000000×27 2-92-9 n=2 时查表法的舍入规则及误差情况分析 ROM地址 舍入前(p+g位) 舍入后(p位) 误差情况 000 001 010 011 100 101 110 111 xx…x00|0xx…x xx…x00|1xx…x xx…x01|0xx…x xx…x01|1xx…x xx…x10|0xx…x xx…x10|1xx…x xx…x11|0xx…x xx…x11|1xx…x xx…x00 xx…x01 xx…x01 xx…x10 xx…x10 xx…x11 xx…x11 xx…x11 -2 -p-1 (1-2 -g+1)~0 +2 -p-g~2 -p-1 -2 -p-1 (1-2 -g+1)~0 +2 -p-g~2 -p-1 -2 -p-1 (1-2 -g+1)~0 +2 -p-g~2 -p-1 -2 -p-1 (1-2 -g+1)~0 +2 -p (1-2 -g )~-2 -p-1 }+2 -p-1 }+2 -p-1 }+2 -p-1 }-2 -p-1 (2g -1) 关于舍入方法的主要结论: (1) 恒置法虽有少量的积累误差,且损失一位精度,但由于实现起来很容易, 已普遍在小型及微型机中使用。 (2) R*舍入法是唯一一种积累误差能达到完全平衡的舍入方法,但由于实现 起来非常复杂,仅在极少数对误差要求非常高的具型计算机中才采用。 (3) 下舍上入法只有少量的积累误差,且精度也比较高,但实现起来很复杂, 在用软件实现的算法中经常采用。 (4) 查表法实现比较容易,积累误差很小,而且可以通过改变 ROM 或 PLA 中 的内容来修正积累误差,因此是一种很有前途的舍入方法。 五种舍入方法的主要性能比较 舍入方法 在正数区的误差范围 正数区的积累误差 实现的难易程度 恒舍法 -2 -p(1-2 -g)~0 +2 -p-1(2 g-1) 最简单 恒置法 -2 -p(1-2 -g)~+2 -p +2 -p 很简单 下舍上入法 -2 -p-1(1-2 -g+1)~+ 2 -p-1 +2 -p-1 很复杂 R*舍入法 -2 -p-1~+2 -p-1 0 最复杂 查表法 -2 -p(1-2 -g)~+2 -p-1 +2 -p-1(2 n-2 g) 一般 p 是规格化尾数有效位的字长,g 是尾数有效字长之外的长度, n 是查表法中 ROM 或 PLA 的字长 7、警戒位的设置方法 为了保证浮点数在运算和转换过程中的精度,在规定的尾数字长之外,运算 器中的累加器需要另外增加的长度称为警戒位(Guard Digit or Guard Bit)。 • 不设置警戒位,可能出现很大的误差。一个例子: 例 1:0.10000000×2 0-0.11111101×2 -1,没有警戒位时: 0.10000000×2 0 对阶: +1.10000001×2 0 求和: 0.00000001×2 0 左规: 0.10000000×2 -7
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有