【问题标题】:Confused between double and float data types对双精度和浮点数据类型感到困惑
【发布时间】:2013-12-27 04:45:22
【问题描述】:

我对 C++ 中的 doublefloat 感到困惑。例如:

问。对于每种类型的状态,它的常量:

a.) 1.0
b.) 2.8e-10

据我所知,a.) 部分是 float(因为它不太精确),b.)double。还是两者都是double

【问题讨论】:

  • 检查你的书或讲义。这取决于您所学的语言。
  • 或编辑问题以指明语言。
  • 例如,在 Fortran 中,它们都是“real”类型,通常是 32 位,对应于“float”。在 C 中,它们都是“双”的,通常是 64 位。

标签: c++ types floating-point double precision


【解决方案1】:

我认为精度是两者的主要区别:

浮点数 - 7 位(32 位)

双 15-16 位(64 位)

您的答案可能取决于您使用的语言,因为精度因素是一个关键因素。但我会说你可以选择两者都是DOUBLE1.0 也可以是浮动的,因此在不知道您的要求或语言的情况下很难回答。

【讨论】:

  • 所以答案是……?
  • @MSalters:- 说两个双打是正确的..我想!我错了吗?
  • @MSalters:- 我认为这可能取决于语言。但说两者兼而有之也没有错
【解决方案2】:

没有任何后缀,所有浮点文字在 C++ 中都是double。如果附加了f 后缀,则文字为float,如果使用L 后缀编写,则为long double。字面常量通常不取决于它们的大小。像 1 或 2 这样的整数文字属于 int 类型,尽管它们的值完全位于 char 的范围内

浮动文字的类型是double,除非后缀明确指定。后缀fF 指定float,后缀lL 指定long double

ISO C++ 2013 draft

【讨论】:

    【解决方案3】:

    你可能会认为它们都是 double ,最后都是关于大小的 1.0 体积小,所以你也可以认为它是浮动的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-21
      • 1970-01-01
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多