什么叫单精度浮点型?什么叫双精度浮点型?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么叫单精度浮点型?什么叫双精度浮点型?相关的知识,希望对你有一定的参考价值。

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

双精度型,正如它的关键字“double ”表示的,占用64位的存储空间。在一些现代的被优化用来进行高速数学计算的处理器上双精度型实际上比单精度的快。所有超出人类经验的数学函数,如sin( ),cos( ) ,和sqrt( )均返回双精度的值。当你需要保持多次反复迭代的计算的精确性时,或在操作值很大的数字时,双精度型是最好的选择。
参考技术A 没人说2.2E或2.2e才是浮点型变量,而2.2不是.
因为这是在定义变量时由编程者定义了算的.定义它是就是,不是就不是.
小数,在编程中有"单精度浮点变量"与双精度浮点变量".

变量就是可以变化的量,而这是变量在定义时定义成浮点型的变量就是浮点型的变量,如float i=4.76 这是i 就是个浮点型变量
浮点型分为单精度浮点数float 和双精度浮点数double
其实两者没什么区别,就是一个精确度的问题,double的精确度要比float 高,在计算比较小的数时两者没什么区别,如果计算比较大的数要用double
float是单精度浮点数,它的范围可以取到-3.40292347E+38到+3.40292347E+38之间
double是双精度浮点 ,它的范围可以取到-1.79769313486231570E+308到+1.79769313486231570E+308之间

两者关系就象int 和 long 的关系差不多

还有,就是"单精度浮点变量"与双精度浮点变量"在内存的占用上是不同的.一般float是4个字节,而double是8个字节.不同的编程语言可能不同.我不清楚.
参考技术B 这两者主要在精度上有区别。双精度浮点数能精确表示1.79769313486231570e+308 到
-4.94065645841246544e-324
范围的负数和从
4.94065645841246544e-324 到
1.79769313486231570e+308 范围的正数。单精度浮点数能够精确表示从
-3.4028235e+38 到
-1.401298e-45 的负数和从
1.401298e-45 到
3.4028235e+38
的正数。
参考技术C 单精度浮点型(float
)专指占用32位存储空间的单精度(single-precision
)值。单精度在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不精确。当你需要小数部分并且对精度的要求不高时,单精度浮点型的变量是有用的。例如,当表示美元和分时,单精度浮点型是有用的。
这是一些声明单精度浮点型变量的例子:float
hightemp,lowtemp;
双精度型,正如它的关键字“double
”表示的,占用64位的存储空间。在一些现代的被优化用来进行高速数学计算的处理器上双精度型实际上比单精度的快。所有超出人类经验的数学函数,如sin(
),cos(
)
,和sqrt(
)均返回双精度的值。当你需要保持多次反复迭代的计算的精确性时,或在操作值很大的数字时,双精度型是最好的选择。
参考技术D 单精度浮点型(float )专指占用32位存储空间的单精度(single-precision )值。单精度在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不精确。
double float数据类型,计算机中表示实型变量的一种变量类型。此数据类型与单精度数据类型(float)相似,但精确度比float高,编译时所占的内存空间依不同的编译器而有所不同,通常情况,单精度浮点数占4字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,;双精度型占8
个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308。

浮点型数据的精度是啥意思

浮点型数据的精度即使用多少位来存储。

一个浮点数a由两个数m和e来表示:a = m × b^e。在任意一个这样的系统中,我们选择一个基数b(记数系统的基)和精度p(即使用多少位来存储)。

单精度浮点数用4字节存储,双精度浮点数用8字节存储,分为三个部分:符号位、阶和尾数。阶即指数,尾数即有效小数位数。单精度格式阶占8位,尾数占24位,符号位1位,双精度则为11为阶,53位尾数和1位符号位。

扩展资料:

浮点数的相关存储格式:

IEEE754标准中浮点数表示格式IEEE规定的浮点数表示法是一种科学计数法,用符号(正或负)、指数和尾数来表示,底数被确定为2。也就是说浮点数被表示为尾数乘以2的指数次方再带上符号。

符号域:符号域占1位,0表示正数,1表示负数。指数域:指数域共有8位,可表达的范围为:0~255。为能处理负指数,实际指数位存储在指数域中值减去一个偏移量(单精度为127,双精度为1023)。

单精度浮点数的偏移量为127,故实际可表达的指数值的范围为-127~128。尾数域:尾数域共有23位。

参考资料来源:百度百科-浮点数

参考资料来源:百度百科-单精度

参考资料来源:百度百科-浮点型数据

参考技术A

浮点型数据的精度取决于浮点小数结构:

32位单精度浮点型数的二进制位的第0-22位为2进制小数尾值,决定了它的精度在2的负23次方,1/(2^23)=0.0000001

64位双精度浮点型数的二进制位的第0-52位为2进制小数尾值,决定了它的精度在2的负52次方,1/(2^52)=2.2e-16

扩展资料:

浮点数的相关存储格式:

IEEE754标准中浮点数表示格式IEEE规定的浮点数表示法是一种科学计数法,用符号(正或负)、指数和尾数来表示,底数被确定为2。也就是说浮点数被表示为尾数乘以2的指数次方再带上符号。

符号域:符号域占1位,0表示正数,1表示负数。指数域:指数域共有8位,可表达的范围为:0~255。为能处理负指数,实际指数位存储在指数域中值减去一个偏移量(单精度为127,双精度为1023)。

参考资料来源:百度百科-浮点数 (有理数)

参考技术B

浮点型数据的类型有两种,一是单精度浮点数,二是双精度浮点数。

浮点型数据的精度取决于浮点小数结构:

32位单精度浮点型数的二进制位的第0-22位为2进制小数尾值,决定了它的精度在2的负23次方,1/(2^23)=0.0000001

64位双精度浮点型数的二进制位的第0-52位为2进制小数尾值,决定了它的精度在2的负52次方,1/(2^52)=2.2e-16

在文本框输出时

32位浮点型数有7位小数精度(十进制)           .3333333

64位浮点型数有15位小数精度(十进制)         .333333333333333

要超过这精度要求需要将数据类型定义为Decimal(VB6.0)数据类型,它有28位小数精度(十进制)

参考:

http://www.fmddlmyy.cn/text60.html

http://wenku.baidu.com/link?url=xl7cAlbK5r3z5g9w1UdJn5r0wMHzIR3K2svZiFEeX2oDjusyptfIRiFAYFGsABaRFIw-Bip7My_u-S6-HhgCYilP9ZcuerJ-MYcuoRnR_63

参考技术C 浮点型数据又称单精度浮点数,精度表示的是该浮点数的取值范围。。。
单精度类型:+-3.4*10^(-38)~~~+-3.4x10^38 单精度占用4个字节的内存
双精度类型:+-1.7*10^(-308)~~~+-1.7*10^308 双精度占用8个字节的内存本回答被提问者采纳
参考技术D 就是你数值的取值范围,单精度的取值范围比双精度的要小

以上是关于什么叫单精度浮点型?什么叫双精度浮点型?的主要内容,如果未能解决你的问题,请参考以下文章

浮点型是啥意思

浮点型数据的精度是啥意思

浮点型数据丢失精度的原因

解决浮点型数值计算精度丢失的一种实现

精度浮点型数据精确到了几位小数呢?

C语言中单精度和双精度浮点型数据的数值范围是多少?怎么算出来的?请大虾帮忙了!