根据国际标准IEEE(电气和电子工程协会)754,任意一个二进制浮点数V可以表示成以下形式:
- (-1)^ S * M * 2 ^ E
- (- 1) ^ S表示符号位,当S = 0,V为正数;当S = 1, V为负数。
- M代表有效数字,大于等于1,小于2;
- 2 ^ E表示指数位
举例来说:
十进制的5.0,携程101.0,相当于1.01 x 2 ^ 2。
那么,按照上面V的格式,可以得出S = 0, M = 1. 01, E = 2。
十进制的 - 5. 0,写成二进制是101.0,相当于 - 1.01 x 2 ^ 2。那么,S = 1, M = 1. 01, E = 2;
对于32位的单精度浮点数存储模型,最高1位是符号位s,接下来8位是指数E,剩下23位为有效字母M
对于64位的双精度浮点数存储模型,最高1位是符号位s,接下11位是指数E,剩下52位为有效字母M