新手求教:float什么是尾数? 范围如何计算?
float x = 1.11111
1:哪部分表示尾数?
2:整数最大是多少? 小数最多6位?
3:由于float的指数部分对应的指数范围为-128~128,所以取值范围为:
-2^128到2^128,约等于-3.4E38 — +3.4E38
pow(2,128)
340282366920938463463374607431768211456 怎么计算出+3.4E38 ?
[解决办法]
1. float x = 1.11111 是十进制的, 先把它抓换成 2 进制等于
1.00011100011100011011010
等于 1.00011100011100011011010 * 2 ^ 0
其中 00011100011100011011010 就是尾数. 2 ^ 0 中的 0 就是指数. 在内存里表示为 127
2. 不是小数最多 6 位, 是有效数字可以保证 6 位是精确的.
3. 340282366920938463463374607431768211456 不就是 +3.4E38 吗