为什么用C写1,000,000,000作为1000*1000*1000?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (57)

在由Apple创建的代码中,有以下行:

CMTimeMakeWithSeconds( newDurationSeconds, 1000*1000*1000 )

有没有任何理由表达1,000,000,0001000*1000*1000

为什么不1000^3这样做?

提问于
用户回答回答于

以乘法方式声明常量的一个原因是为了提高可读性,而运行时性能不受影响。此外,为了表明作者正在乘数地思考这个数字。

考虑这个:

double memoryBytes = 1024 * 1024 * 1024;

double memoryBytes = 1073741824;
用户回答回答于

为什么不1000^3呢?

结果1000^3是1003. ^是bit-XOR运算符。

即使它不处理Q本身,我补充说明。x^y不能总是为x+y,因为它在提问的例子。你必须尽一切努力。在这个例子的情况下:

1111101000₂ (1000₁₀)
0000000011₂ (3₁₀)
1111101011₂ (1003₁₀)

1111101001₂ (1001₁₀)
0000000011₂ (3₁₀)
1111101010₂ (1002₁₀)

所属标签

可能回答问题的人

  • 红双喜经典VS中华

    1 粉丝0 提问8 回答
  • LemonLu

    社区 · 运营 (已认证)

    45 粉丝0 提问6 回答
  • 滑稽园扛把子

    Swoole Inc · PHP工程师 (已认证)

    135 粉丝0 提问4 回答
  • 13火麒麟

    0 粉丝0 提问4 回答

扫码关注云+社区