我在C ++中对double
和float
感到困惑。例如:
Q值。对于每种类型状态,其常量:
a。)1.0
b。)2.8e-10
据我所知,a.)
部分是float
(因为它不太精确),b.)
是double
。或者都是double
?
答案 0 :(得分:2)
我认为精确度是两者之间的主要区别:
Float - 7位数(32位)
双15-16位(64位)
您的答案可能取决于您使用的语言,因为精确因素是一个关键因素。但我会说你可以选择 DOUBLE 。同样1.0
也可以浮动,所以在不知道你的要求或语言的情况下很难回答。
答案 1 :(得分:1)
如果没有f
后缀,C ++中的所有浮点文字都是double
。如果使用L
后缀编写,那么它将是long double
。文字常数通常不依赖于它们的大小。像1或2这样的整数文字属于int
类型,尽管它们的值完全位于char的范围内
浮点文字的类型为
double
,除非后缀明确指定。后缀f
和F
指定float
,后缀l
和L
指定long double
答案 2 :(得分:-2)
你可能认为它们都是双倍的,最后它们都是关于大小的 1.0的尺寸很小,所以你也可以认为它是浮动的。