Jua*_*uan 0 c++ bit-manipulation compilation
让我们说我正在检查奇数:
(i % 2 == 1)
Run Code Online (Sandbox Code Playgroud)
编译器是否会将该操作转换为:
if(a & 1)
Run Code Online (Sandbox Code Playgroud)
?
我知道按位操作更快,有时我会使用位.
但是我的问题是:如果正常的算术更具可读性(在大多数情况下),如果编译器稍后可以转换它,我何时应该使用bitwise?
或者我总是在有可能的时候使用bitwise(即使它不太可读)?
你应该总是使用人类可以更好阅读的形式.如果执行速度很重要,则必须分析程序并查看编译器生成的程序集.