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

0 投票
最新提问 2月 20 用户: Mercedes (390 分)

在Apple创建的代码中,有下面这行:

CMTimeMakeWithSeconds( newDurationSeconds, 1000*1000*1000 )

有什么理由将1,000,000,000表示为1000*1000*1000?

为什么不写成1000^3这样的写法呢?

1个回答

0 投票
最新回答 2月 20 用户: Amanda (220 分)

主要是为了代码的清晰度和可读性。不能把逗号作为C中的分隔符,比较好的做法是写成乘法算式。^是C / C ++ / Objective-C语言中的按位异或运算符XOR。

比如用于表示持续时间如:24 * 60 * 60,很容易看出是24小时,86400就没那么清晰了。

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

考虑这个:

double memoryBytes = 1024 * 1024 * 1024;

它明显清晰:

double memoryBytes = 1073741824;

因为后者看不出来,前面的数一眼就能看出来是1024的三次幂。

许多语言缺乏内置的幂运算符,因此往往用乘法表示。

欢迎来到编程助手,编程方面有什么不懂的问题可以尽管在这里提问,你将会收到热心爱好者的回答。
...