C++ 什么';s x<&书信电报;a和x2B;x<&书信电报;b带括号和不带括号
我想使用位移位运算符将一个数字乘以10。C++ 什么';s x<&书信电报;a和x2B;x<&书信电报;b带括号和不带括号,c++,bit-shift,C++,Bit Shift,我想使用位移位运算符将一个数字乘以10。 为了尝试,我初始化了x=1。然后我分配了x=x看看区别: x = x<<1 + x<<3 x = 1<<1 + 1<<3 // execute 1+1 first x = 1<<2<<3 // execute 1<<2 x = 4<<3 x = 32 x=x首先计算括号中的表达式。如果没有它们,则在添加之前执行换档操作 首先,C++评
为了尝试,我初始化了
x=1
。然后我分配了x=x看看区别:
x = x<<1 + x<<3
x = 1<<1 + 1<<3 // execute 1+1 first
x = 1<<2<<3 // execute 1<<2
x = 4<<3
x = 32
x=x首先计算括号中的表达式。如果没有它们,则在添加之前执行换档操作
<>首先,C++评估(x)每个语言都有优先规则…哦,我明白了,但是,如果以前执行加法,它是如何给出32的?
x = (x<<1) + (x<<3)
x = (1<<1) + (1<<3)
x = 2 + 8
x = 10