加减法

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

什么时候不成立?

1
2
3
4
5
6
7
8
9
10
11
12
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就被舍去了。