📜  IEEE 标准 754 浮点数(1)

📅  最后修改于: 2023-12-03 15:31:21.624000             🧑  作者: Mango

IEEE标准754浮点数

介绍

IEEE 754是一种二进制浮点数算术标准, 由IEEE(Institute of Electrical and Electronics Engineers)制定。它是现代计算机中浮点数的表现形式,旨在确保浮点数的互操作性和兼容性。

标准格式

IEEE 754浮点数有两种格式:

  • 单精度浮点数(32位):由1个符号位、8个指数位和23个尾数位组成;
  • 双精度浮点数(64位):由1个符号位、11个指数位和52个尾数位组成。
单精度浮点数格式

单精度浮点数格式中,其中最高位为符号位(0表示正数,1表示负数)。接着的8位为指数位,再接着的23位为尾数位。

指数位采用的是移码算法,即将真实的指数值加上127(单精度),这样,如果浮点数为0,指数位全为0;如果浮点数为NaN,则指数位全为1且尾数位不全为0。

浮点数最终的表达式为:

(-1)^S × M × 2^(E - 127)

其中,S为符号位,M为尾数,E为指数。

双精度浮点数格式

双精度浮点数格式中,其中最高位为符号位(0表示正数,1表示负数)。接着的11位为指数位,再接着的52位为尾数位。

指数位同样采用的是移码算法,即将真实的指数值加上1023(双精度),这样,如果浮点数为0,指数位全为0;如果浮点数为NaN,则指数位全为1且尾数位不全为0。

浮点数最终的表达式为:

(-1)^S × M × 2^(E - 1023)

其中,S为符号位,M为尾数,E为指数。

精度限制

虽然IEEE 754标准提供了高精度的浮点数表示方式,但在实际使用中还是要考虑精度问题。由于计算机存储空间有限,浮点数的精度会受到限制。单精度浮点数最多只能表示23位有效数字,双精度浮点数最多只能表示52位有效数字。

由此可见,在进行精度较高的浮点数计算时,应选用更高精度的算法,如 BigDecimal 等。

应用场景

IEEE 754浮点数广泛应用于现代计算机,尤其是在科学计算、金融计算等需要高精度计算的领域。它还广泛应用于图形图像处理、视频编码解码等领域。

参考资料