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


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

优先级从高到低排序如下

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

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

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

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

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM