32位浮点数最多能表示多少位十进制小数啊?为什么编程时只是显示六个小数位啊?
00000000111111111111111111111111这个二进制数化为十进制数是多少啊?有多少位小数啊?...
0000 0000 1111 1111 1111 1111 1111 1111这个二进制数化为十进制数是多少啊?有多少位小数啊?
展开
1个回答
展开全部
32位浮点数float类型是7为有效数字,所以通常是6位小数。
(从左到右开始数)
第一位是符号位,0表示正数。
第二到第九位是指数位,剩下的是尾数位。(因为有效数字的第一位永远是1,所以总是省略)
先分块:
0/0000 0001/111 1111 1111 1111 1111 1111
因为指数的范围为-127~128,所以指数位的数据要减去127得到真实指数。
1-127=126
那么用二进制表示就为
+1.11111111111111111111111*2^-126
=(10-0.000 0000 0000 0000 0000 0001)*2^-126
=2^-125-2^-149
=2.350989*10^(-38)
(科学计数法)
如果是普通计数法那就是0.000000了。
更详细的猛戳这里:http://www.cnblogs.com/jillzhang/archive/2007/06/24/793901.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询