c++ - 使用位方式会使代码不可读

标签 c++ algorithm operators bit-manipulation

我遇到过很多次必须在除法运算符(除以 2)或右移运算符(>>)之间使用的情况,但我倾向于使用除法运算符,假设使用按位运算符会使我的代码更少可读。我的假设正确吗?

在生产代码中使用左移运算符和右移运算符而不是乘以 2 或除以 2 是一种好的做法吗?

最佳答案

使用按位运算符进行乘法或除法 2 是彻头彻尾的疯狂。

  1. << 的行为对于负符号类型未定义。

  2. <<>>优先级低于加法和减法,因此它会弄乱你的表达式。

  3. 这毫无必要地令人困惑。

  4. 相信现代编译器能够进行适当优化。

关于c++ - 使用位方式会使代码不可读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39040919/

相关文章:

php - $variable[] 和 array_push($variable, $newValue) 哪个更快?

Python 运算符重载

c++函数的返回类型是其输入的函数

c++ - 读取时的 fstream unix 问题

c++ - 错误 : no matching function for call to

C++编程井字棋AI尝试

algorithm - 最大连续可达到数

c++ - Qt APP样式表问题

java - 根据 DateTime 行对 HashBasedTable 条目进行分组

c++ - 为什么 << 运算符会用 cout 截断字符?