(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)
认识Float
指数位
float的指数位是无符号的,它的正负区分通过采用一个偏移值来确定,下表可以查到float单精度的偏移值是127。偏移前表达范围[0,255],经过偏移后,8位指数位所能表达的范围是:[-127,128]。
| Type | Sign | Exponent | Significand field | Total | Exponent Bias | Bits Precision | Number of decimal digits |
|---|---|---|---|---|---|---|---|
| Half | 1 | 5 | 10 | 16 | 15 | 11 | ~3.3 |
| Single | 1 | 8 | 23 | 32 | 127 | 24 | ~7.2 |
| Double | 1 | 11 | 52 | 64 | 1023 | 53 | ~15.9 |
尾数位
- 取值0的情况是一种特殊表达,指数与尾数全为0
符号位
符号位就不细说了,0表示正数,1表示负数
结语
对于float,用了这么多年,对它的结构细节却关注的不多,详细查一查资料,发现和之前的想当然的理解上差别还是比较大的。
(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/212165.html原文链接:https://javaforall.net
