c++中的double是什么,有什么作用,烦举一例。
double(双精度浮点型)是计算机使用的一种资料型别。比起单精度浮点数(float),double(双精度浮点数)使用 64 位(8字节) 来储存一个浮点数。
它可以表示十进制的15或16位有效数字,负值取值范围为 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1.797693E+308。
比如:
声明double 类型的变量:
double num;
初始化double 类型的变量:
num = 5.621456873;
扩展资料:
float类型
浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 excess-127 二进制指数和一个 23 位尾数。
尾数表示一个介于 1.0 和 2.0 之间的数。由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在 -3.4E+38 和 3.4E+38 之间的范围。
double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double 和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。
参考资料:double-百度百科
比方说你写了一个字,为了告诉别人它是什么东西,它是一个汉字,你可以用“ 汉字 字;”这种格式来告诉别人那个字是个汉字。
同样道理,C++中你想建立一个变量的时候,需要告诉编译器变量的数据类型,以便编译器给变量分配存储空间。
格式:int i; 这是整型变量的声明格式。
如果要声明双精度型变量,也就是小数,相同道理
double i;
这样编译器就知道i是一个双精度小数变量。
另外 float也表示小数,是单精度小数。float和double的区别在于,float所允许的小数范围小,double允许的小数范围大。
Sorry!!!
我想问一下,双精度小数具体允许到小数点后几位?既然双精度允许范围大,那是不是可以不用单精度的,它们各有什么优势?
先谢啦!!!
单双精度小数不是按小数点后有几位小数来区分的,而是按有效数字的不同。
float 有效数字7位,取值范围从3.4E-38~3.4E+38。比方说a=1111.11111111,因为有效位数是7位,整数部分已占4位,则只有小数点后3位有效。
double 有效数字16位,取值范围从1.7E-308~1.7E+308。例子和上面情况差不多,自己应该能看出来。
另外,单精度在内存中占4个字节的空间;而双精度占8个字节,在精度要求不高的情况下,为了节省内存,采用float。
用来表示小数的
而且是位数比较多 数比较大的 位数少的用float
在内存中占8个字节
例如 double s = 1.2;
你定义成 double s = 1; 也行
double d;