【问题标题】:Why sizeof(0.7)=8 bytes in c?为什么 c 中的 sizeof(0.7)=8 字节?
【发布时间】:2011-12-01 16:59:14
【问题描述】:

我想知道为什么 sizeof(0.7) 是 8 字节?

请解释一下?

谢谢!

【问题讨论】:

  • 显然,这是一个双重文字。在大多数现代平台上,double 是 8 字节宽。
  • 出于好奇,您期待什么?
  • 0.7 是浮点数,可以是 4 字节
  • 浮点常量是双精度的,除非另有说明。试试sizeof(0.7f);

标签: c floating-point size double


【解决方案1】:

因为0.7double 类型的文字,而double 在您的系统上的大小为8 个字符。

【讨论】:

  • 没错。在大多数操作系统上,double 是 8 个字节。然而,在某些情况下,double 是 16 个字节。
【解决方案2】:

因为浮点字面量是双倍的?

【讨论】:

    【解决方案3】:

    默认参数不是float,而是double

    【讨论】:

      【解决方案4】:

      0.7 保存为双精度,在大多数平台上为 8 个字节。

      有关更多信息,请查看基本 C 数据类型,即在 Wikipedia [1] 或其他人 [2] 上。

      [1]https://en.wikipedia.org/wiki/C_data_types
      [2]http://rajkishor09.hubpages.com/hub/Data-Types-in-C-Language

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-08
        • 2021-07-02
        • 2012-08-27
        • 1970-01-01
        • 2013-01-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多