C语言中 double和float 的区别

#include "stdio.h"
main()
{float r,s;<br>r=5.0;<br>s=3.14159*r*r;<br>printf ("%f\n",s);<br>}这个题目如果我把float变成double答案还是一样!那为什么要用float这个函数了!还是随便用那个函数都行!请大家告诉我如何在这一些题目要怎么选择float 或double2个函数!谢谢大家!我是新手不太懂问一些白痴的问题

单精度浮点数在机内占4个字节,用32位二进制描述。
双精度浮点数在机内占8个字节,用64位二进制描述。

对编程人员来说,double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)
还有
double类型存储机制问题,64位是这样存储的:
1位符号位,11位指数位,52位尾数位。
因此,
(1)将2.2转换成二进制为10.00110011...
(2)将10.00110011...转换成指数形式为1.000110011...*2^1;
(3)开始正式转换,符号位为0,表示为正;
(4)指数位为000,0000,0001,表明指数为2^1;
(5)尾数位为0001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1001,1,最后一位1是第53位;
(6)显然,最后是要进上去的。
因此,2.2f转换成2.2d是变大的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-22
这两个不是函数,是数据类型.float是单精度实型,用4个字节存储 double是双精度实型,用8个字节存储。在进行程序运算时,float型数据一律转换为double型数据,为自动类型转换。所以结果一样。但float,double两种类型数据精度不同,float型有效数字位数为6~7位,double为15~16位,二者有区别本回答被网友采纳
第2个回答  2013-09-22
double表示的范围更大,比较大的数,如整数部分十几万的,都需要用double的
第3个回答  2020-05-15
两个类型的精度不同。
double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,在不确定的情况下还是尽量用double以保持正确性.

c语言中double和float的区别
C语言中double和float的区别:1. 精度不同 float: 浮点数类型,单精度浮点数,遵循IEEE 754标准。通常占用4个字节内存空间。其数值范围较小,可以表示大约±1E±38范围内的正数或负数。由于位数较少,精度相对较低。double: 双精度浮点数类型。同样遵循IEEE 754标准。通常占用8个字节内存空间。它可以...

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

double和float的区别
1、数据类型的长度不同:在C语言中,float类型占用4个字节(32位),而double类型占用8个字节(64位)。这意味着double类型可以表示比float类型更大范围的数字,并且可以提供更高的精度。2、精度不同:double类型具有比float类型更高的精度,使用了更多的位数来表示数字。float类型的精度是6-7位有效数字...

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

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

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在表示十进制时...

c语言中float与double有什么区别?
在C语言中,float与double是两种用于存储浮点数的类型。它们之间最主要的差异在于内存占用量以及能够表示的数值精度。float类型使用4字节的内存来存储数据,而double类型则需要8字节。这使得double类型能够表示更高精度和更宽范围的数值。实际上,double类型的精度大约是float类型的两倍。举个例子,对于数值1....

c语言float与double的取值区别
首先,从精度上来看,float是单精度浮点数,而double是双精度浮点数。单精度浮点数在计算机内存中占用4个字节,可以表示大约-3.4E+38到3.4E+38之间的数值。相比之下,双精度浮点数占用8个字节,可以提供更高的精度,能够表示更大的数值范围。其次,float和double在表示小数范围方面也有所不同。由于双...

c语言中double和float的区别
在C语言中,double和float两种数据类型的主要区别在于精度和内存占用。它们都是浮点数类型,用于表示小数,但浮点数的精度以及取值范围有所区别。double的精度更高,通常拥有16位的有效数字,而float的精度相对较低,只有7位。这导致double的取值范围比float大,因此double占用的内存空间更多,一般为8字节,...

在c语言中float和double有什么区别
一个是单精度类型,一个是双精度类型,有效数字和自动转化等方面上都有区别

相似回答