第五课 浮点数运算

加减法

image.png

  1. 尾数右移时,需要返回原来的隐藏位1
  2. 尾数右移时,需要保持负号不变,在数值高位补0,但不改变符号位
示例

image.png

image.png
有进位要去掉进位,再进行左规
image.png
image.png

乘除

image.png
image.png

舍入

image.png

溢出

image.png
最大允许阶值 = 127
最小允许阶值 = -126
阶值 = 阶码的二进制解释 - 偏置常数
在浮点数的表示中,阶码全1和阶码全0都有特殊含义

异常

image.png
双精度:阶下溢用0表示。
image.png

数据类型

image.png
image.png

D+F-F == F

什么时候不成立?

int main() {
    float y = 1.0;
    for (int i = -100; i < 100; ++i) {
        double w = pow(2, i);
        if ((y + w) - w != y) {
//            cout << y+w-w<<"!!!";
//            cout << y <<endl;
            cout << i << "  ";
        }
    }
    return 0;
}

i >=53时,不成立。因为双精度浮点数的尾数长度为52,所以,**1.0**在对阶过程中,因为阶值变成了53,所以相当于1前面增加了53个0,而尾数最长只有52,所以1就被舍去了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值