c++的运算问题,才学

img

这个运算顺序是什么?

这个主要看运算符的优先级
这里从高到低的优先级为 ~ + << |
所以第一步计算:(a)——按位取反,结果为-1
第二步为:((
a) + b)——结果为0
第三步为:(c << 1)——结果为4
第四步为:((~a) + b) | (c << 1))——结果为4
这个划掉的横线是这个文档语法问题,不是写错划掉的意思哦

| 按位或运算
<<代表左移多少位
~代表取反
都属于位运算符
在这个式子中的优先级为
~ > + > << > |