关于各种运算的优先级问题

优先级从高到低排序如下

加减 移位 比较大小 位与 异或 位或
+,-- <<,>> >,<,==,!= & ^ |

今天考试时就遇到这样一个问题,mzoj:bit,如果不是开了Wall可能下辈子都不会发现这里有问题

因为移位运算优先级大于&,|,^运算,故k>>b&1写法是正确的

但是if(k>>b&11)的写法是错误的,因为他先计算k>>b位,再计算11,最后计算(k>>b)&(1==1)

应该写成这样:if((k>>b&1)==0)

相关文章:

  • 2022-12-23
  • 2021-09-09
  • 2021-10-16
  • 2022-12-23
  • 2022-03-05
  • 2021-10-04
  • 2021-06-26
猜你喜欢
  • 2022-12-23
  • 2021-08-17
  • 2022-12-23
  • 2021-07-28
  • 2022-12-23
  • 2022-12-23
  • 2022-02-11
相关资源
相似解决方案