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