objective-c - 为什么在 C 中将 1,000,000,000 写为 1000*1000

在 Apple 创建的代码中,有这样一行:

CMTimeMakeWithSeconds( newDurationSeconds, 1000*1000*1000 )

是否有任何理由将 1,000,000,000 表示为 1000*1000*1000

为什么不用1000^3

最佳答案

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

考虑一下:

double memoryBytes = 1024 * 1024 * 1024;

明显优于:

double memoryBytes = 1073741824;

因为后者乍一看不像 1024 的三次方。

正如 Amin Negm-Awad 提到的,^ 运算符是二进制 XOR。许多语言缺乏内置的编译时取幂运算符,因此没有乘法。

关于objective-c - 为什么在 C 中将 1,000,000,000 写为 1000*1000*1000?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40633059/

相关文章:

ios - 如何使 UIButton 文本对齐中心?使用 IB

ios - 如何在 UILabel 中嵌入小图标

ios - 以编程方式在 UIStackView 中添加 View

iphone - 以编程方式选择 tableview 行

ios - Objective-C 和 Swift URL 编码

objective-c - 关于iOS5 SDK中自动引用计数的一些问题

ios - 使用 glob 获取目录中的文件列表

objective-c - Objective-C 中的 MD5 算法

iphone - 什么是使 iOS 应用程序崩溃的可靠方法?

iphone - 错误 : The service is invalid