float型数据范围,float 的指数取值范围
float型数据范围,float 的指数取值范围详细介绍
本文目录一览: float的取值范围是什么?
Float:比特数为32,有效数字为6-7,数值范围为 -3.4E+38 和 3.4E+38。
浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 二进制指数和一个 23 位尾数。
构成:
浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分。
数符占 1 位二进制,表示数的正负。
指数符占 1 位二进制,表示指数的正负。
尾数表示浮点数有效数字,0.xxxxxxx, 但不存开头的 0 和点。
指数存指数的有效数字。
指数占多少位,尾数占多少位,由计算机系统决定。
浮点型变量取值范围怎么得来的?
float型变量
长度为4个字节,32位二进制,取值范围为1.18e-38 ~ 3.40e38 ,即(2*2-126) ~ (2*2128)。
包括符号位(1位)、指数位(8位)、尾数位(23位)。
符号位的0为正,1为负;
指数位共8位,可表示0~255或者-126~128;
由于其取值范围由指数来定,剩余尾数23位最多可表示223个有效数字,用log计算,log10(2*223)=6.92,因此其有效数字为6~7位。
float型变量长度为4个字节,32位二进制,取值范围为1.18e-38 ~ 3.40e38 ,即(2*2-126) ~ (2*2128)。包括符号位(1位)、指数位(8位)、尾数位(23位)。
符号位的0为正,1为负;指数位共8位,可表示0~255或者-126~128;由于其取值范围由指数来定,剩余尾数23位最多可表示223个有效数字,用log计算,log10(2*223)=6.92,因此其有效数字为6~7位。
浮点数表示法利用科学计数法来表达实数(real),当计算的表达式有精度要求时被使用。例如,计算平方根,或超出人类经验的计算如正弦和余弦,它们的计算结果的精度要求使用浮点型。
扩展资料
8种基本数据类型及取值范围
整型:
byte:-2^7 ~ 2^7-1,即-128 ~ 127。1字节。Byte。末尾加B
short:-2^15 ~ 2^15-1,即-32768 ~ 32767。2字节。Short。末尾加S
有符号int:-2^31 ~ 2^31-1,即-2147483648 ~ 2147483647。4字节。Integer。
无符号int:0~2^32-1。
long:-2^63 ~ 2^63-1,即-9223372036854774808 ~ 9223372036854774807。8字节。Long。末尾加L。(也可以不加L)
浮点型:
float:4字节。Float。末尾加F。(也可以不加F)
double:8字节。Double。
字符型:
char:2字节。Character。
布尔型:
boolean:Boolean。
在C语言中float数据数值范围是多少?
是-3.4*10^38到3.4*10^38
两个答案说3.4E-38 ~3.4E+38,岂不是负数和0都不能表示了?3.4E-38是大于0的啊。
3.4*10的-38次幂 ---3.4*10的38次幂!!
C语言中,float 为单精度浮点数,占4字节,其数值范围为3.4E-38 ~3.4E+38或者-(3.4E-38 ~3.4E+38)
float的指数位有8位,尾数位有23位,符号位1位。
于是,float的指数范围为-127~+128,按补码的形式来划分。
其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。
所以,float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38
float和double类型的大小为
Float为单精度,内存中占4个字节,有效数位是7位(因为有正负,所以不是8位);
double为双精度,占8个字节,有效数位是16位;
拓展资料:C语言中基本的数据类型:
首先是数据类型,有短整型(short),整型(int)和长整型(long),每种类型的差别就是所占的空间大小不一样,表示的数据最大最小不一样。
2.数据类型中,还有浮点数,用来保存小数的。
浮点数中有单精度数(float),32位长度的
3.浮点数中还有双精度数(double),64位长度的。
4.字符类型,主要是用来存储字符串数据,用char来定义。
浮点数在内存中的结构
数符± 尾数m 阶符± 阶码e
float 32位 1位符号位, 8位指数位,23位尾数为
double 64位 1位符号位,11位指数位,52位尾数位
取值范围看指数部分
float 有8位指数位,阶符1位,阶码7位,2^7=128,取值范围是-2^128—2^128,约为-3.4E38—3.4E38
同理,double的范围约是-1.7E308—1.7E308
精度看尾数部分
float尾数23位,2^23=8.3E6,最多7位有效数字,能保证6位,即float的精度为6~7位有效数字
double尾数52位,2^52=4.5E15,15位,所以double的有效位数是15~16位
float 4字节
double 8字节
Vue实践-CSS样式position/display/float属性对比使用
float:浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。此表示形式为 float 类型提供了一个大约在 -3.4E+38 和 3.4E+38 之间的范围。
double(双精度浮点型)是计算机使用的一种资料型别。它可以表示十进制的15或16位有效数字,负值取值范围为 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1.797693E+308。
double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多。
扩展资料
如果存储比精度更重要,请考虑对浮点变量使用 float 类型。相反,如果精度是最重要的条件,则使用 double 类型。
浮点变量可以提升为更大基数的类型(从 float 类型到 double 类型)。当对浮点变量执行算术时,通常会出现提升。此算术始终以与具有最高精度的变量一样高的精度执行。例如,请考虑下列类型声明:
float f_short;double f_long;long double f_longer;f_short = f_short * f_long;
在前面的示例中,变量f_short提升到类型 double 并且与f_long相乘;然后,结果舍入到类型 float,然后赋给f_short。
在以下示例中(使用前面示例中的声明),将以浮点(32 位)精度对变量执行算术;结果随后将提升到 double 类型:
f_longer = f_short * f_short;
double f_long;
long double f_longer;
f_short = f_short * f_long;
在前面的示例中,变量f_short提升到类型 double 并且与f_long相乘;然后,结果舍入到类型 float,然后赋给f_short。
在以下示例中(使用前面示例中的声明),将以浮点(32 位)精度对变量执行算术;结果随后将提升到 double 类型:
f_longer = f_short * f_short;
参考资料:百度百科-float
参考资料:百度百科-double
C语言中float型数据表示的最大数字到底是多少啊?
float类型所能表示的最大数字为3.4*10^38,即3.4E38。
float是C语言中的一个数据类型的关键字,表示单精度浮点型(双精度浮点型为double)。
定义格式为:
float a; // a表示一个浮点型的变量
C语言规定浮点型在内存占用4个字节,精度为7位,取值范围为:3.4*10^-38 ~3.4*10^38或者-(3.4*10^-38 ~3.4*10^38)
其实这几种说法都没有错.不过2^104*(2^23 -1 )貌似应该是2^104*(2^24 -1).然后2^128和3.4E+38都是估计值
最好是你自己看一下IEEE754标准.
网上不好搜的话可以看
第二版第二章的2.4.2小节,讲的很详细.
另外,指数的范围是-126~+127.具体原因也是自己去看书.
内容不多,两三页纸,但是只靠我打字太难说明白
其实这几种说法都没有错.不过2^104*(2^23 -1 )貌似应该是2^104*(2^24 -1).然后2^128和3.4E+38都是估计值
最好是你自己看一下IEEE754标准.
网上不好搜的话可以看
第二版第二章的2.4.2小节,讲的很详细.
另外,指数的范围是-126~+127.具体原因也是自己去看书.
内容不多,两三页纸,但是只靠我打字太难说明白
我们的老谭的C教材上说float型数据的范围是-3.4×10的-38次方至3.4×26位尾数中有一个符号位也就是最大的数是+/-(2^25-1)*(+/-2^5-1,
表示有压力,静观高手赐教
C语言中float型数据表示的最大数字为3.402823E38。
FLOAT数据类型用于存储单精度浮点数。具有4个字节,包括一个符号位、一个8位二进制指数和一个23位尾数。由于尾数的高顺序位始终为1,因此它不是以数字形式存储的。此表示形式为float类型,提供了一个在-3.402823E38到3.402823E38之间的范围。
扩展资料:
FLOAT数据类型变量可以提升为更大基数的类型(从 float 类型到 double 类型)。当对浮点变量执行算术时,通常会出现提升。此算术始终以与具有最高精度的变量一样高的精度执行。
如果存储比精度更重要,优先考虑对浮点变量使用 float 类型。相反,如果精度是最重要的条件,则优先使用 double 类型。
深入理解计算机系统>
深入理解计算机系统>
float 的指数取值范围
float 类型的最大正有限大值的常量,最大正有限大值为2的127次方;
float 类型数据的最小正非零值的常量,最小正非零值为2的-149次方;
扩展资料浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 excess-127 二进制指数和一个 23 位尾数。尾数表示一个介于 1.0 和 2.0 之间的数。由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。
由于指数是以无符号形式存储的,因此指数的偏差为其可能值的一半。对于 float 类型,偏差为 127;对于 double 类型,偏差为 1023。您可以通过将指数值减去偏差值来计算实际指数值。
存储为二进制分数的尾数大于或等于 1 且小于 2。对于 float 和 double 类型,最高有效位位置的尾数中有一个隐含的前导 1,这样,尾数实际上分别为 24 和 53 位长,即使最高有效位从未存储在内存中也是如此。
参考资料FLOAT(数据类型)百度百科
float和double的范围是由指数的位数来决定的。
float的指数位有8位,而double的指数位有11位,分布如下:
float:
1bit(符号位) 8bits(指数位) 23bits(尾数位)
double:
1bit(符号位) 11bits(指数位) 52bits(尾数位)
于是,float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的。
其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。
float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308。
扩展资料:浮点变量由尾数(包含数字的值)和指数(包含数字的数量级)表示。
下表显示了分配给每个浮点类型的尾数和指数的位数。任何 float 或 double 的最高有效位始终是符号位。如果符号位为 1,则将数字视为负数;否则,将数字视为正数。
浮点变量由尾数(包含数字的值)和指数(包含数字的数量级)表示。
下表显示了分配给每个浮点类型的尾数和指数的位数。任何 float 或 double 的最高有效位始终是符号位。如果符号位为 1,则将数字视为负数;否则,将数字视为正数。
由于指数是以无符号形式存储的,因此指数的偏差为其可能值的一半。对于 float 类型,偏差为 127;对于 double 类型,偏差为 1023。您可以通过将指数值减去偏差值来计算实际指数值。
存储为二进制分数的尾数大于或等于 1 且小于 2。对于 float 和 double 类型,最高有效位位置的尾数中有一个隐含的前导 1,这样,尾数实际上分别为 24 和 53 位长,即使最高有效位从未存储在内存中也是如此。
浮点包可以将二进制浮点数存储为非标准化数,而不使用刚刚介绍的存储方法。“非标准化数”是带有保留指数值的非零浮点数,其中尾数的最高有效位为 0。通过使用非标准化格式,浮点数的范围可以扩展,但会失去精度。您无法控制浮点数以标准化形式还是非标准化形式表示;浮点包决定了表示形式。浮点包从不使用非标准化形式,除非指数变为小于可以标准化形式表示的最小值。
参考资料:FLOAT——百度百科
float和double的范围是由指数的位数来决定的。
float的指数位有8位,而double的指数位有11位,分布如下:
float:
1bit(符号位) 8bits(指数位) 23bits(尾数位)
double:
1bit(符号位) 11bits(指数位) 52bits(尾数位)
于是,float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的。
其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。
float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308。
二进制数应该了解吧?如果了解的话,这个就不难理解了!
不对。指数取值范围应该是[-38,38]。
float的取值范围在-3.4E+38 和 3.4E+38之间。
FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 excess-127 二进制指数和一个 23 位尾数。尾数表示一个介于 1.0 和 2.0 之间的数。由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在 -3.4E+38 和 3.4E+38 之间的范围。
可根据应用程序的需求将变量声明为 float 或 double。这两种类型之间的主要差异在于它们可表示的基数、它们需要的存储以及它们的范围。下表显示了基数与存储需求之间的关系。
浮点变量由尾数(包含数字的值)和指数(包含数字的数量级)表示。
下表显示了分配给每个浮点类型的尾数和指数的位数。任何 float 或 double 的最高有效位始终是符号位。如果符号位为 1,则将数字视为负数;否则,将数字视为正数。
浮点变量由尾数(包含数字的值)和指数(包含数字的数量级)表示。
下表显示了分配给每个浮点类型的尾数和指数的位数。任何 float 或 double 的最高有效位始终是符号位。如果符号位为 1,则将数字视为负数;否则,将数字视为正数。
指数和尾数
由于指数是以无符号形式存储的,因此指数的偏差为其可能值的一半。对于 float 类型,偏差为 127;对于 double 类型,偏差为 1023。您可以通过将指数值减去偏差值来计算实际指数值。
存储为二进制分数的尾数大于或等于 1 且小于 2。对于 float 和 double 类型,最高有效位位置的尾数中有一个隐含的前导 1,这样,尾数实际上分别为 24 和 53 位长,即使最高有效位从未存储在内存中也是如此。
浮点包可以将二进制浮点数存储为非标准化数,而不使用刚刚介绍的存储方法。“非标准化数”是带有保留指数值的非零浮点数,其中尾数的最高有效位为 0。通过使用非标准化格式,浮点数的范围可以扩展,但会失去精度。您无法控制浮点数以标准化形式还是非标准化形式表示;浮点包决定了表示形式。浮点包从不使用非标准化形式,除非指数变为小于可以标准化形式表示的最小值。
下表显示了可在每种浮点类型的变量中存储的最小值和最大值。此表中所列的值仅适用于标准化浮点数;非标准化浮点数的最小值更小。请注意,在 80x87 寄存器中保留的数字始终以 80 位标准化形式表示;数字存储在 32 位或 64 位浮点变量(float 类型和 long 类型的变量)中时只能以非标准化形式表示。
如果存储比精度更重要,请考虑对浮点变量使用 float 类型。相反,如果精度是最重要的条件,则使用 double 类型。
浮点变量可以提升为更大基数的类型(从 float 类型到 double 类型)。当您对浮点变量执行算术时,通常会出现提升。此算术始终以与具有最高精度的变量一样高的精度执行。例如,请考虑下列类型声明:
float f_short;double f_long;long double f_longer;f_short = f_short * f_long;
在前面的示例中,变量f_short提升到类型 double 并且与f_long相乘;然后,结果舍入到类型 float,然后赋给f_short。
在以下示例中(使用前面示例中的声明),将以浮点(32 位)精度对变量执行算术;结果随后将提升到 double 类型:
f_longer = f_short * f_short;
double f_long;
long double f_longer;
f_short = f_short * f_long;
在前面的示例中,变量f_short提升到类型 double 并且与f_long相乘;然后,结果舍入到类型 float,然后赋给f_short。
在以下示例中(使用前面示例中的声明),将以浮点(32 位)精度对变量执行算术;结果随后将提升到 double 类型:f_longer = f_short * f_short;
扩展内容:
【基本类型的存储】
下表汇总了与每个基本类型关联的存储。
基础类型的大小
C 数据类型属于常规类别。 “整型”包括 char、int、short、long、signed、unsigned 和 enum。 “浮点型”包括 float、double 和 long double。
“算术类型”包括所有浮点型和整型。
参考资料:百度百科—FLOAT微软—基本类型的存储
float会精确表示的最大数字是多少
不知道你问的是单精度还是双精度的。。
如果是单精度(余127码)最大是 (1-2-1 )*
2 +128
float类型所能表示的最大数字为3.4*10^38,即3.4E38。
float是C语言中的一个数据类型的关键字,表示单精度浮点型(双精度浮点型为double)。
定义格式为:
float a; // a表示一个浮点型的变量
C语言规定浮点型在内存占用4个字节,精度为7位,取值范围为:3.4*10^-38 ~3.4*10^38或者-(3.4*10^-38 ~3.4*10^38)
c语言中, float类型的数据范围是多少?
1、字节组成不同
int 和 float 类型在计算机中都占用 4 个字节,但 float 类型的 4 个字节由符号位、8 位二进制指数和 23 位尾数组成,而 int 类型的 4 个字节 构成所有 是一个整数。
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为整数,如3、4、5,不能为小数。 将i设置为浮点变量的方法是:float i=yy;,其中yy为带小数点的浮点数,如3.0、4.5、5.7等。
浮点类型数据的取值范围什么意思?
E是科学计数法,表示1.4乘以10的-45次方 到 3.4乘以10的38次方,自己算这两个数有多大,凡是在这两个数之间的数都是可取的,超出这个范围,那么就解析不了啦……
浮点类型数据的取值范围:
实数的计算机内部表示由具体系统规定,其中不少系统采用通行的国际标准(IEEE 标准,IEEE 是电子电器工程师协会,是一个著名的国际性技术组织):
(1) 浮点类型的数用4个字节32位二进制表示。这样表示的数大约有7位十进制有效数字,数值的表示范围约为±(3.4×10^38…3.4×10^38);
(2) 双精度类型的数用8个字节64位二进制表示,双精度数大约有16位十进制有效数字,数值的表示范围约为±(1.7×10^308…1.7×10^308);
(3) 长双精度类型的数用10个字节80位二进制表示,大约有19位十进制有效数字,其数值的表示范围约为±(1.2×10^4932—1.2×10^4932) 。