单精度float 和双精度double到底是什么区别啊

如题所述

一、字节数不同

1、float占4个字节,也就是32位。

2、double占8个字节,也就是64位。

二、指数域位数不同

1、float的指数域是8位,可表达的范围为0~255。

2、double的指数域是11位,可表达的范围为0~2047。

三、指数域位数不不同

1、float的小数域是23位。

2、double的小数域是52位。

四、指数偏移量不同

1、float的指数偏移量是127,故实际可表达的指数值的范围为-127~128。

2、double的指数指数偏移量是,故实际可表达的指数值的范围为-1023~1024。

五、可表示数的范围不同

1、float可表示数的范围是-2^128~2^128,即-3.40E+38~ .40E+38。

2、double可表示数的范围是-2^1024~2^1024,即-1.79E^308~1.79E^308。

扩展资料:

将实数用浮点数格式表示的方法:

以实数-9.625为例子。

1、求出该实数对应的二进制:1001.101,用科学技术法表达为:-1.001101*2^3。

2、因为负数,符号为1。

3、指数为3,故指数域的值为3 + 127 = 130,即二进制的10000010。

4、尾数为1.001101,省略小数点左边的1后为001101,右侧0补齐,补够23位,

最终尾数域为:00110100000000000000000。

5、最终结果:1 10000010 00110100000000000000000,用16进制表示:0xC11A0000。

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

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-11-25
双精度比单精度表示的位数大 精确的位数多,简单地说, foat表示的小数点位数少,double能表示的小数点位数多! 如 float: 1.0001 double:1.0000000001Float为单精度,内存中占4个字节,有效数位是7位(因为有正负,所以不是8位),在我的电脑且VC++6.0平台中默认显示是6位有效数字;double为双精度,占8个字节,有效数位是16位,Float 范围:3.4e + / - 38 (7 个数字(7digits)Double范围: -1.79769313486232E308 到 -4.94065645841247E-324,而正数的时候是从 4.94065645841247E-324 到 1.79769313486232E308
第2个回答  2013-11-25
foat表示的小数点位数少,double能表示的小数点位数多,更加精确!Float为单精度,内存中占4个字节,有效数位是8位。double为双精度,占8个字节,有效数位是16位。
第3个回答  推荐于2017-11-18
单精度实数在内存中占32bit 有效数字为6~7位
双精度实数占内存单元为64bit 有效数字为15~16位
没有说明时,实型常量是作为双精度处理的,若要使用单精度需在后面加上字母f或F,如123.45f本回答被网友采纳
第4个回答  2014-04-27
foat表示的小数点位数少,double能表示的小数点位数多,更加精确!Float为单精度,内存中占4个字节,有效数位是8位。double为双精度,占8个字节,有效数位是16位。

单精度float 和双精度double到底是什么区别啊
一、字节数不同 1、float占4个字节,也就是32位。2、double占8个字节,也就是64位。二、指数域位数不同 1、float的指数域是8位,可表达的范围为0~255。2、double的指数域是11位,可表达的范围为0~2047。三、指数域位数不不同 1、float的小数域是23位。2、double的小数域是52位。四、指数...

c语言float和double的区别
c语言float和double的区别如下:1、精度不一样,float是单精度,double是双精度;2、表示小数的范围不一样,double能表示的范围比float大;3、double在内存中,占8个字节,float在内存中,占4个字节。%f默认保留6位小数,不足位以0补齐,超过六位按四舍五入的方法保留6位,若想输出指定位数,在格式化...

Java语言中的浮点型数据的float和double的单精度和双精度到底是啥意思...
1、变量类型不同 float属于单精度型浮点数据。double属于双精度型浮点数据。2、指数范围不同 float的指数范围为-127~128。double而double的指数范围为-1023~1024 3、表达式指数位不同 float的表达式为1bit(符号位)+8bits(指数位)+23bits(尾数位)double的表达式为1bit(符号位)+ 11bits(指数位...

单精度和双精度有什么不同?
4,精度不同。 float在表示十进制时,有效数字为6到7位。double在表示十进制时,有效数字为15到16位。,5.输入输出格式不同。在C语言中,输入输出格式化字符串,float使用%f,而double使用%lf。6,单精度和双精度都属浮点数,一个单精度浮点数占4个字节(32位),一个双精度浮点数占8个字节(64位...

c语言单双精度的区别
C语言中,单精度浮点型为float, 双精度浮点型为double。具体区别如下:1、 占用字节空间不同。一个float变量占用四字节,一个double类型变量,一般占用8字节。2、 表示范围不同。float表示范围为-3.4E-38~3.4E+38。double 表示范围为-1.7E-308~1.7E+308。3、 精度不同。float在表示十进制时...

单精度与双精度的区别
单精度与双精度的区别:1、单精度,也就是 float ,在 32 位机器上用 4 个字节来存储的;而双精度double是用 8 个字节来存储的。2,单精度和双精度在计算机中的表示格式虽一样,但由于位数存储位不同,他们能表示的数值的范围就不同,也就是能准确表示的数的位数就不同。

浮点类型说明浮float,double有什么区别啊
单精度浮点数(float)与双精度浮点数(double)的区别如下:(1)在内存中占有的字节数不同 单精度浮点数在机内占4个字节 双精度浮点数在机内占8个字节 (2)有效数字位数不同 单精度浮点数有效数字8位 双精度浮点数有效数字16位 (3)所能表示数的范围不同 单精度浮点的表示范围:-3.40E+38...

float和double的区别
1. 精度不同 float是单精度浮点数,通常占用32位内存空间,提供约7至8位的十进制精度。而double是双精度浮点数,通常占用64位内存空间,提供约15至16位的十进制精度。因此,double的精度远高于float。2. 表示范围不同 由于不同的内存占用和精度,float和double能够表示的数值范围也有所不同。double能够...

C语言中float和double的区别!
区别:1、精度不一样,float是单精度,double是双精度;2、表示小数的范围不一样,double能表示的范围比float大;3、double在内存中,占8个字节,float在内存中,占4个字节。float:浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮...

float和double类型的区别
精度不同 float类型通常被称为单精度浮点数,它表示的数值范围较小,但计算速度相对较快。而double类型被称为双精度浮点数,它能表示的数值范围更大,精度更高。这意味着在处理涉及较大数值范围或需要高精度的计算时,double类型更为适用。存储大小不同 float类型通常占用4个字节的存储空间,而double类型...

相似回答