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

菜鸟求助
感谢winelover72的回答
我的意思是32位中底数占多少位,指数占多少位.底数的3.4是怎么计算出来的?
64位的double型底数占多少位呢?

因为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
负数亦然
温馨提示:内容为网友见解,仅供参考
无其他回答

C语言中为什么float型数据的范围是3.4E-38~3.4E+38
因为float所占的位数决定了他的大小 位数就是计算机的存储所需要的bit多少 32位浮点,64位双精度浮点范围不同 \/\/\/ 以前学计算系统基础的时候有这么个说法 计算机存储的形式都是01了,在32位的01中,第一位表示正负,最后8位表示指数,中间的表示小数。最后化成1.几的形式的多少次方 那是自己定义的。...

在C语言中float数据数值范围是多少?
C语言中,float 为单精度浮点数,占4字节,其数值范围为3.4E-38 ~3.4E+38或者-(3.4E-38 ~3.4E+38)float的指数位有8位,尾数位有23位,符号位1位。于是,float的指数范围为-127~+128,按补码的形式来划分。其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所...

C语言中,单精度浮点型只占32位,但为什么能表示3.4E-38~3.4E+38的...
浮点型的存储方式和整型的存储方式不同,整型是所有二进制位都表示那个整数,而浮点型则将二进制位分成了符号位、整数位、小数位、指数位。由于部分二进制位被用来存储指数了,所以其精度就降低了,即有效数字位数变少了,但由于有指数位,所以可以表示很大的数。 具体详情请参考有关资料。

在C语言中float数据数值范围是多少?
C语言中的float数据类型是一种单精度浮点数,占用4个字节。其数值范围极其广泛,从3.4E-38到3.4E+38,或者相反方向的-(3.4E-38到3.4E+38)。float的精度由其内部结构决定,包括8位的指数位、23位的尾数位以及1位的符号位。指数部分的范围是-127到+128,采用补码表示法。负指数表示的是float可以...

为什么实数变量范围是3.4E-38~3.4E+38,有效数值6-7
这和一个IEEE标准有关,就是符点数的表示方法 IEEE 浮点数用1 位表示数字的符号,用8 位来表示指数,用23 位来表示尾数,即小数部分

C语言遇到了一个问题``请问下高手
在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。如果超出7位,系统会自动对第8位四舍五入.所以12.3456789变为12.345679 对于你的补充问题,这个我也不太清楚,但我可以告诉你,在计算机中float型的数据存储是极其不精确的,这和他的存储原理...

float(4字范围是多少
在C语言中,float数据类型是一种单精度浮点数,占据4个字节的存储空间。其数值范围具有一定的规律,从3.4E-38到3.4E+38,或者可以理解为从负的3.4E-38到正的3.4E+38。float的精度由其内部结构决定,它有8位用于表示指数,23位用于表示尾数,而最左边的1位是符号位。基于这种结构,指数部分的范...

...数值范围是约-3.4e-38——3.4e+38,怎么得出来的???求解
double的指数部分有11bit(2^11),由于是有符号型,所以得到对应的指数范围-1024~1024。由于float的指数部分对应的指数范围为-128~128,所以取值范围为:-2^128到2^128,约等于-3.4E38 — +3.4E38 精度(有效数字)主要看尾数位:float的尾数位是23bit,对应7~8位十进制数,所以有效数字有的编译...

c语言中, float类型的数据范围是多少?
2、显示的数据范围不同 C语言中int变量通常的表示范围是-2147483648~2147483647,介于-2^31和2^31之间。 而-3.4E+38 ~ 3.4E+38是float类型表示的数据范围。 float表示的数据范围大于int表示的数据范围。3、变量赋值方式不同 在C语言中,将i设置为int变量并赋值的方法是:int i=xx;,其中xx为...

float 3.4E-38~3.4E+38 double 1.7E-308~1.7E+308 具体取值范围 十进 ...
C语言中,单精度浮点型为float,双精度浮点型为double。具体区别如下:1、占用字节空间不同。一个float变量占用四字节,一个double类型变量,一般占用8字节。2、表示范围不同。float表示范围为-3.4E-38~3.4E+38。double 表示范围为-1.7E-308~1.7E+308。3、精度不同。float在表示十进制时,有效...

相似回答