作业帮 > 综合 > 作业

C语言中为什么float型数据的范围是3.4E-38~3.4E+38

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/05/02 03:48:44
C语言中为什么float型数据的范围是3.4E-38~3.4E+38
感谢winelover72的回答
我的意思是32位中底数占多少位,指数占多少位.底数的3.4是怎么计算出来的?
64位的double型底数占多少位呢?
C语言中为什么float型数据的范围是3.4E-38~3.4E+38
因为float所占的位数决定了他的大小
位数就是计算机的存储所需要的bit多少
32位浮点,64位双精度浮点范围不同
//////////////////////
以前学计算系统基础的时候有这么个说法
计算机存储的形式都是01了,
在32位的01中,第一位表示正负,最后8位表示指数,中间的表示小数.
最后化成1.几的形式的多少次方
那是自己定义的.
c也有自己的定义方法吧:
对于单精度浮点数来说,有阶码8位表示正负
当尾数渠道全1时再加上小数点前面的1,阶码取到最大正数127(8位,正数最大127,负数最小-128),浮点数渠道正数的最大值.
+1.111111111111111111111*2^127
1.后面23个1
约等于2*2^127=3.4*10^38
负数亦然