C语言中float型数据表示的最大数字到底是多少啊?

Python09

C语言中float型数据表示的最大数字到底是多少啊?,第1张

C语言中float型数据表示的最大数字为3.402823E38。

FLOAT数据类型用于存储单精度浮点数。具有4个字节,包括一个符号位、一个8位二进制指数和一个23位尾数。由于尾数的高顺序位始终为1,因此它不是以数字形式存储的。此表示形式为float类型,提供了一个在-3.402823E38到3.402823E38之间的范围。

扩展资料:

FLOAT数据类型变量可以提升为更大基数的类型(从 float 类型到 double 类型)。当对浮点变量执行算术时,通常会出现提升。此算术始终以与具有最高精度的变量一样高的精度执行。

如果存储比精度更重要,优先考虑对浮点变量使用 float 类型。相反,如果精度是最重要的条件,则优先使用 double 类型。

可以这样理解:浮点数由有效数及指数两部分组成,你提到的两个值,应该说一个是一个是最大数,一个是最小精度值。其实如果是从值的范围来说,这个编译环境下面,最小的负数应该是可以表示到-3.402823466

E+38,在-3.402823466

E+38到+3.402823466

E+38之间的数,都是可以表示的。(但不一定是准确表示,因为作为数学上的有理数是连续的,而对于计算机上用二进制位表示的数,是离散的,所以,可能会出现有一些很接近的值,在计算机内表示都是相同的,即是说不能区别)。所以-100自然就是在这个最小到最大值范围内了。

你的问题好奇怪:2能转换成3.4?没听说过!你只能这么理解:2X2^127和3.4X10^38相等或近似,是分别用二进制幂和10进制幂表示的同一个数。用计算器输入2的128次方,结果就是3.40.....x10的38次方。2x10^2=40x5,不该说2怎么转换成40、10^2怎么转换成5的吧?另外建议不钻这种牛角尖,知道float是4字节,表示 的数有个范围就行了,不然你几天才能看一页啊?以后类似的情况多着呢!