浮点数的舍入处理

本文详细解析计算机在处理小数时采用的五种舍入方法:恒舍法、恒置法、下舍上入法、R*舍入法及查表法。对比分析各方法的精度、复杂度及适用场景。

前言: 计算机在表示一个小数时,一般假定规格化前的数为 P+g 位,P时有效位字长,g是有效位字长之后的的代码长度.

比如说 0.xxxxx|010100 在这里,红的表示P, 绿的表示g,

1. 恒舍法

顾名思义,就是把绿的全部抛弃. 这样处理好处很显然,简单嘛,不管三七二十一,扔了就完了.但是问题也很突出,就是精度有问题.

这种方法误差是最大的,在精度有那么一丢丢要求的地发都会被嫌弃.

2.恒置法

这也顾名思义,就是吧红的最后一位置位1, 这实现起来倒也不难,那精度是不是也有问题呢?咋一看,是的,实际上,非也.

 

 从图中可以看出,误差的积累会互相抵消,除了绿色全为零的情况没人跟他相匹配之外.故而最后的误差只有2^-p,相当小的一个误差了.

3.下舍上入法:

这方法和恒指法不一样的地方,就在于红的部分全取了,但是要不要加,看绿色部分的最高位.如果绿的最高位是1,加,如果是0,那就扔了.这其实也不是特避难,但是麻烦,因为有个特殊情况,如果红色的全是1, 那再加上的最后一位的1,将会使整个数溢出,这时候要再往右规格化,挺麻烦的一件事.

而且吧,如果是0.XXXXX10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值