float double取值范围是多少

作者&投稿:茅疯 (若有异议请与网页底部的电邮联系)
c#中,double和float的范围是多少?double的范围包含了int的范围吗?~

float是单精度类型,精度是6位有效数字,取值范围是10的-38次方到10的38次方,float占用4个字节的存储空间
double是双精度类型,精度是15位有效数字,取值范围是10的-308次方到10的308次方,double占用8个字节的存储空间
当你不声明的时候,默认小数都用double来表示,所以如果要用float的话,则应该在其后加上f
例如:float a=1.3;
则会提示不能将double转化成float 这成为窄型转化
如果要用float来修饰的话,则应该使用float a=1.3f
注意float是6位有效数字,第7位数字将会产生四舍五入
所以如果一个float变量 这样定义: float a=1.32344435; 则第7位将产生四舍五入(5及5以下的都将舍去)
int和long都是用32位来存储最大值和最小值分别为2147483647(109), -2147483648;
long long 是用64位来存储最大值和最小值分别为9223372036854775807(1018),-9223372036854775808;
float的最大值和最小值分别为3.40282e+038(1038),1.17549e-038(10-38);
double的最大值和最小值分别为1.79769e+308(10308),2.22507e-308(10-308)

一个float型实数在内存中占4个字节,即32个二进制bit,从低位到高位依次叫第0位到第31位.这32位可以分为3个部分:符号位(第31位),阶码(第30位到第23位共8位),尾数(最低23位)。
1、符号位。最高位也就是第31位表示这个实数是正数还是负数,为0表示正数或0,为1表示负数.
2、阶码。第30位到第23位这8个二进制位表示该实数转化为规格化的二进制实数后的指数与127(127即所谓偏移量)之和即所谓阶码.
规格化的二进制实数的指数只能在-127----+127之间,所以,一个float型数的最大值在+2^127即+3.4*10^38,最小值在-2^127即-3.4*10^38.
3、尾数。其他最低的23位即第22位到第0位表示该实数转化为规格化的二进制实数后小数点以后的其余各位即所谓尾数.
double的计算与此类似,double的符号位为63位,指数为62~52位,共11位。表示的范围为-1024~1023。尾数为51~0。表示的范围为-1.7*10^308~+1.7*10^308

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 hightemp,lowtemp;

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

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

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

参考资料来源:百度百科—FLOAT

参考资料来源:百度百科—DOUBLE



float double取值范围如下:

对于单精度浮点数(float)来说,有一位符号位,指数位共8位,尾数共23位。指数能够表示的指数范围为-128~127。尾数为23位。当尾数全1时再加上小数点前面的1,指数取到最大正数127(8位,正数最大127,负数最小-128),浮点数取得正数的最大值。

+1.111111111111111111111*2^127(1.后面23个1,由于尾数的范围1~2,其最高位总为1,故只需存取小数部分,所以小数为是23位1),约等于2*2^127=3.4*10^38。为3.4*10^38负数亦然。

Double的计算与此类似,double的符号位为63位,指数为62~52位,共11位。表示的范围为-1024~1023。尾数为51~0。表示的范围为+1.111111111111111111111*2^1023(1.后面52个1)为1.7*10^308。负数亦然。



类型                        比特数       有效数字                数值范围
float 类型                 32              6-7                -3.4*10(-38)~3.4*10(38)
double类型              64            15-16            -1.7*10(-308)~1.7*10(308)

拓展资料:

基本类型:int 二进制位数:32


包装类:java.lang.Integer
最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方)
最大值:Integer.MAX_VALUE= 2147483647  (2的31次方-1)



基本类型:short 二进制位数:16


包装类:java.lang.Short
最小值:Short.MIN_VALUE=-32768 (-2的15此方)
最大值:Short.MAX_VALUE=32767 (2的15次方-1)



基本类型:long 二进制位数:64


包装类:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808 (-2的63次方)
最大值:Long.MAX_VALUE=9223372036854775807 (2的63次方-1)



float能够表示的指数范围为-128~127,而double的指数范围为-1023~+1024。

拓展资料:

float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位,分布如下:float:

double:

float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的。其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。



不正确的,float double取值范围如下:

  1. 对于单精度浮点数(float)来说,有一位符号位,指数位共8位,尾数共23位。指数能够表示的指数范围为-128~127。尾数为23位。

  2. 当尾数全1时再加上小数点前面的1,指数取到最大正数127(8位,正数最大127,负数最小-128),浮点数取得正数的最大值。

  3. Double的计算与此类似,double的符号位为63位,指数为62~52位,共11位。表示的范围为-1024~1023。尾数为51~0。表示的范围为+1.111111111111111111111*2^1023(1.后面52个1)为1.7*10^308。负数亦然。

拓展资料:

  1. FLOAT是由香港设计师沈梦云(YUZUKI SENG)及其团队创立的服饰品牌,意为"For Love of a Team"--对团队的热爱。FLOAT现已于国内注册,中文命名为"浮露"。品牌始创于2008年夏季,专注于设计高机动性能的潮流服饰,并融合运动、团队精神、街头文化、现实批判主义等元素,以其别树一帜的简约多变风格为主。FLOAT的品牌LOGO是一朵翻舌头的英雄花,象征"敢于向传统挑战的英雄"。




武宣县15222189132: float double取值范围是多少 -
明宏重组: 类型 比特数 有效数字 数值范围 float 32 6-7 -3.4*10(-38)~3.4*10(38) double 64 15-16 -1.7*10(-308)~1.7*10(308) long double 128 18-19 -1.2*10(-4932)~1.2*10(4932)

武宣县15222189132: FLOAT,DOUBLE的范围 -
明宏重组: float和double的范围是由指数的位数来决定的.float的指数位有8位,而double的指数位有11位,分布如下:float:1bit(符号位) 8bits(指数位) 23bits(尾数位) double:1bit(符号位) 11bits(指数位) 52bits(尾数位) 于是,float的指数范围...

武宣县15222189132: 计算机数据类型中单精度类型与双精度的定义与区别? -
明宏重组: 二者的取值范围和精度是不同的float的精度是6位有效数字,取值范围是10的-38次方到10的38次方,float占用4字节空间double的精度是15位有效数字,取值范围是10的-308次方到10的308次方,double占用8字节空间

武宣县15222189132: float和double 的数值范围怎么求?
明宏重组: 一般32位x86系统,float是4个字节(32位),double是8字节(64位) 无符号float取值范围:0 ~ 2的32次方 无符号double取值范围:0 ~ 2的64次方 有符号float取值范围:-2的31次方 ~ 2的31次方 有符号double取值范围:-2的63次方 ~ 2的63次...

武宣县15222189132: C中的float和double的有效数字和精度各是多少? -
明宏重组: float是32位,double是64位float32位中,有1位符号位,8位指数位,23位尾数为double64位中,1位符号位,11位指数位,52位尾数位取值范围看指数部分float是有符号型,其中,8位指数位,2^8=(-128—127),因此实际的范围是-2^128—2^...

武宣县15222189132: float的范围和有效数字怎么算出来的? -
明宏重组: 首先说一下: 范围是3.4E-38 ——3.4E+38,可提供7位有效数字. 上述这两个量都是近似值,各个编译器不太一样的.下面我就将标准值是怎么定义的,和你说一下: 这个比较复杂,建议你找一下IEEE754标准看一下. 这个简单说一下吧: ...

武宣县15222189132: float和double类型的大小为 -
明宏重组: float:浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数.此表示形式为 float 类型提供了一个大约在 -3.4E+38 和 3.4E+38 之间的范围. double(双精度浮点型)是计算机使用的一种资料型别.它可以表示十进制的15或...

武宣县15222189132: C#中float与double的区别 -
明宏重组: float是单精度类型,精度是6位有效数字,取值范围是10的-38次方到10的38次方,float占用4个字节的存储空间 double是双精度类型,精度是15位有效数字,取值范围是10的-308次方到10的308次方,double占用8个字节的存储空间 当你不声明...

武宣县15222189132: java中float和double的区别 -
明宏重组: float表示单精度浮点数在机内占4个字节,用32位二进制描述. double表示双精度浮点数在机内占8个字节,用64位二进制描述.浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分. 数符占1位二进制,表示数的正负. ...

武宣县15222189132: java 中float 和double有什么区别,对于赋值来说,求解.谢谢! -
明宏重组: 1. float为单精度浮点类型,占4个字节,能表示的数范围小;double为双精度浮点类型,占8个字节,能表示的数范围大.2. 对于赋值来说,因为声明浮点数时默认为double类型,所以float需要在数的的后面添加f/F;例:float a=1.2 //错误 float a=1.2f //正确 float a=1.2F //正确 double b=1.2 //正确 double b=1.2d //正确 double b=1.2D //正确

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网