2 回答
扬帆大鱼
TA贡献1799条经验 获得超9个赞
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。
- 2 回答
- 0 关注
- 5666 浏览
添加回答
举报
0/150
提交
取消