- 原文链接: https://chowyi.com/《程序员教程(第三版)》学习笔记——01.十进制浮点数转化为IEEE754标准单精度浮点数/
- 版权声明: 文章采用 CC BY-NC-SA 4.0 协议进行授权,转载请注明出处!
工业标准IEEE754
1985年IEEE(Institute of Electrical and Electronics Engineers)提出了IEEE754标准。该标准被广泛采用,其表示形式如下:
| S | P | M |
其中S为符号位,0为正数,1为负数。P为阶码,通常用移码表示,M为尾数,用原码表示,根据二进制的规格化方法,最高数字位总是1,该标准将这个1缺省存储,使得尾数表示范围比实际存储的多一位。
目前,计算机中主要使用三种形式的IEEE754浮点数。
参数 | 单精度浮点数 | 双精度浮点数 | 扩充精度浮点数 |
---|---|---|---|
浮点数字长 | 32 | 64 | 80 |
尾数长度 | 23 | 52 | 64 |
符号位长度 | 1 | 1 | 1 |
阶码长度 | 8 | 11 | 15 +16383 |
可表示的实数范围 | 10-38 ~ 1038 | 10-308 ~ 10308 | 10-4932 ~ 104932 |
将十进制数转化为点精度浮点数(IEEE754标准)
- 将十进制数转换为二进制数。
- 对二进制数进行规格化处理,保证最高位为1,去掉最高位并扩展为规定的23位尾数。
- 求阶码。用移码表示,偏移量为规定的127.
例:用IEEE754标准将176.0625转换为单精度浮点数。
- 将176.0625转换为二进制为 10110000.0001
- 规格化处理:10110000.0001=1.01100000001 × 2^7 。舍去最高位并扩展为23位尾数为
01100000001000000000000 - 阶码为7,加上偏移量+127为134,用移码表示为10000110
因此结果表示如下:0 10000110 01100000001000000000000
- 原文链接: https://chowyi.com/《程序员教程(第三版)》学习笔记——01.十进制浮点数转化为IEEE754标准单精度浮点数/
- 版权声明: 文章采用 CC BY-NC-SA 4.0 协议进行授权,转载请注明出处!