百度
360搜索
搜狗搜索

float表示范围,float 的指数取值范围详细介绍

本文目录一览: float范围是多少?

1、Float:比特数为32,有效数字为6-7,数值范围为 -3.4E+38 ~ 3.4E+38

2、Double:比特数为64,有效数字为15-16,数值范围为-1.7E-308~1.7E+308

可根据应用程序的需求将浮点变量声明为 float 或 double。这两种类型之间的主要差异在于它们可表示的基数、它们需要的存储以及它们的范围。

扩展资料

浮点型的两种类型

1、单精度浮点型(float)

单精度浮点型(float )专指占用32位存储空间的单精度(single-precision )值。单精度在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不精确。当你需要小数部分并且对精度的要求不高时,单精度浮点型的变量是有用的。

浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 二进制指数和一个 23 位尾数。由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在 -3.4E+38 ~ 3.4E+38 之间的范围。

例如,当表示美元和分时,单精度浮点型是有用的。

这是一些声明单精度浮点型变量的例子:float hightemp,lowtemp;

2、双精度型(double )浮点型

双精度型,正如它的关键字“double ”表示的,占用64位的存储空间。在一些现代的被优化用来进行高速数学计算的处理器上双精度型实际上比单精度的快。

所有超出人类经验的数学函数,如sin( ),cos( ) ,tan()和sqrt( )均返回双精度的值。当你需要保持多次反复迭代的计算的精确性时,或在操作值很大的数字时,双精度型是最好的选择。

float的取值范围是什么?

Float:比特数为32,有效数字为6-7,数值范围为 -3.4E+38 和 3.4E+38。
浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 二进制指数和一个 23 位尾数。
构成:
浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分。
数符占 1 位二进制,表示数的正负。
指数符占 1 位二进制,表示指数的正负。
尾数表示浮点数有效数字,0.xxxxxxx, 但不存开头的 0 和点。
指数存指数的有效数字。
指数占多少位,尾数占多少位,由计算机系统决定。

float的取值范围

float的取值范围是-3.402823466×10的38次方到3.402823466×10的38次方。
float(单精度浮点数)虽然是用4字节32位存储,但它各数间距并不固定,所以叫浮点型。简单讲就是离0越远精度越低。
在存储上分为符号位(1),指数位(8),位数位(23)三个部分,尾数有个进位前导所以取值是1.0-2.0,指数位最大值是127,表示数的形式理解成科学计数法±1.b(尾数位)×2的c次方(指数位-127)。float的取值范围是-3.402823466×10的38次方到3.402823466×10的38次方。
浮点类型的单精度值具有4个字节,包括一个符号位、一个8位excess-127二进制指数和一个23位尾数。尾数表示一个介于1.0和2.0之间的数。由于尾数的高顺序位始终为1,因此它不是以数字形式存储的。此表示形式为float类型提供了一个大约在3.4E–38和3.4E+38之间的范围。
由于指数是以无符号形式存储的,因此指数的偏差为其可能值的一半。对于float类型,偏差为127;对于double类型,偏差为1023。可以通过将指数值减去偏差值来计算实际指数值。

float和double表示范围和精度

float占用4个字节,也就是32个比特。

double占用8个字节,也就是64个比特lei。

float和double的范围是由指数的位数来决定的。

float的指数范围为-127--128,double的范围是-1023-1024。

负指数决定了绝对值最小的非零数,正指数决定了绝对值最大的数。也即决定了范围。

也即float的范围为-2^128-2^128,double的范围是-2^1024-2^1024。

float和double的精度是由尾数位决定的。浮点数在内存中是按照科学计数法来存储的,其整数部分始终是一个隐藏着的1。由于他是不变的,因此对精度不会造成影响的。

float精度范围是:2^23一共7位,因此最多能表示7位,但是能保证的是6位。

double的精度范围是2^52一共16位,同理最多能表示16位,但是能保证的是15位。

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等。

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微软—基本类型的存储

阅读更多 >>>  c语言基础知识

float的范围和有效数字怎么算出来的?

就是2的N次方
原因计算机储存最小位bit,1bit就是1个“0”或者1个"1"。
你的题目有点错误,是-3.4E38---3.4E38,二进制数首位不表示数值,表示正负。
具体是2的好多次方不重要吧,需要的话用电脑上的计算器算换算下就是
首先说一下:
范围是3.4E-38 ——3.4E+38,可提供7位有效数字。
上述这两个量都是近似值,各个编译器不太一样的。
下面我就将标准值是怎么定义的,和你说一下:
这个比较复杂,建议你找一下IEEE754标准看一下。
这个简单说一下吧:
在IEEE754标准中进行了单精度浮点数(float)和双精度数浮点数(double)的定义。float有32bit,double有64bit。它们的构成包括符号位、指数位和尾数位。
这些位的构成如下:
种类-------符号位-------------指数位----------------尾数位----
float---第31位(占1bit)---第30-23位(占8bit)----第22-0位(占23bit)
double--第63位(占1bit)---第62-52位(占11bit)---第51-0位(占52bit)
取值范围主要看指数部分:
float的指数部分有8bit(2^8),由于是有符号型,所以得到对应的指数范围-128~128。
double的指数部分有11bit(2^11),由于是有符号型,所以得到对应的指数范围-1024~1024。
由于float的指数部分对应的指数范围为-128~128,所以取值范围为:
-2^128到2^128,约等于-3.4E38 — +3.4E38
精度(有效数字)主要看尾数位:
float的尾数位是23bit,对应7~8位十进制数,所以有效数字有的编译器是7位,也有的是8位

为什么float型表示数的范围比double型表示的数范围大

c/c++ 语言,float型 和 double 型 表示数的范围 定义在编译器的 float.h 中。
#define DBL_MAX 1.7976931348623158e+308
#define DBL_MIN 2.2250738585072014e-308
#define FLT_MAX 3.402823466e+38F
#define FLT_MIN 1.175494351e-38F
显然, double 型 的 范围 达 10的 308次方,而 float 型 的 范围 只有 10 的 38 次方。
double 型 的 范围 远比 float 型 的 范围 大。
其实,道理很简单, double 型 用 8 字节 表示 数,float 型只有 4 字节。

网站数据信息

"float表示范围,float 的指数取值范围"浏览人数已经达到24次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:float表示范围,float 的指数取值范围的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!