对于下面的表达式,运算结果应该是多少?
int result = 4 >> 1 + 1;
我不止一次地认为运算结果为4/2+1=3。而实际上,运算结果为:4/4=1。这是由于移位操作的优先级比加法运算低。
上图引自百度百科
理解移位运算优先级
本文探讨了在表达式中移位操作与加法运算的优先级问题,并通过具体示例解释了为什么移位操作的结果可能与直观预期不同。
对于下面的表达式,运算结果应该是多少?
int result = 4 >> 1 + 1;
我不止一次地认为运算结果为4/2+1=3。而实际上,运算结果为:4/4=1。这是由于移位操作的优先级比加法运算低。
上图引自百度百科
723
3126
587
1225

被折叠的 条评论
为什么被折叠?