我遇到过很多次必须在除法运算符(除以 2)或右移运算符(>>)之间使用的情况,但我倾向于使用除法运算符,假设使用按位运算符会使我的代码更少可读。我的假设正确吗?
在生产代码中使用左移运算符和右移运算符而不是乘以 2 或除以 2 是一种好的做法吗?
最佳答案
使用按位运算符进行乘法或除法 2 是彻头彻尾的疯狂。
<<
的行为对于负符号类型未定义。<<
和>>
优先级低于加法和减法,因此它会弄乱你的表达式。这毫无必要地令人困惑。
相信现代编译器能够进行适当优化。
关于c++ - 使用位方式会使代码不可读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39040919/