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
负数亦然
原文地址:https://www.cnblogs.com/any91/p/3359076.html