C语言中,单精度浮点型只占32位,但为什么能表示3.4E-38~3.4E+38的范围?

如题所述

浮点型的存储方式和整型的存储方式不同,整型是所有二进制位都表示那个整数,而浮点型则将二进制位分成了符号位、整数位、小数位、指数位。由于部分二进制位被用来存储指数了,所以其精度就降低了,即有效数字位数变少了,但由于有指数位,所以可以表示很大的数。 具体详情请参考有关资料。
温馨提示:内容为网友见解,仅供参考
无其他回答

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

C语言中为什么float型数据的范围是3.4E-38~3.4E+38
在32位的01中,第一位表示正负,最后8位表示指数,中间的表示小数。最后化成1.几的形式的多少次方 那是自己定义的。c也有自己的定义方法吧:对于单精度浮点数来说,有阶码8位表示正负 当尾数渠道全1时再加上小数点前面的1,阶码取到最大正数127(8位,正数最大127,负数最小-128),浮点数渠道正数...

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

c语言中 单双精度 取值范围及有效数字
单精度型,其类型说明符为float 。双精度型,其类型说明符为double 。在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。在编程中定义精度类型...

单精度数值范围为3.4e-38 ~ 3.4e+38这个数值是怎么算的?
1、3.4乘10的负38次方到3.4乘10的38次方,因为单精度数值占用4个字节,就是32位;2、单精度数是指计算机表达实数近似值的一种方式;3、单精度数的范围在负数的时候是从 -3.402823E38 到 -1.401298E-45,而在正数的时候是从 1.401298E-45 到 3.402823E38 。

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

C语言中单精度和双精度具体指什么,能用实例说明一下吗?
C语言中,实型变量分为两类:单精度型和双精度型。其类型说明符分别为:float,double。 单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。 双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。 实型变量...

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在表示十进制时,有效...

在c语言中,单精度浮点数与双精度浮点数的区别与联系。
在C语言中,单精度浮点数(float)和双精度浮点数(double)类型都是用来储存实数的,双精度是用记忆较多,有效数字较多,数值范围较大。两种类型对应的格式字符也有不同。 以Turbo C 为例: float 单精度浮点数使用记忆:4 字符(32 位元)有效数字:6-7 位数值范围:??3.4e38 至 ??3.4e??3...

相似回答