Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 什么';s x<&书信电报;a和x2B;x<&书信电报;b带括号和不带括号_C++_Bit Shift - Fatal编程技术网

C++ 什么';s x<&书信电报;a和x2B;x<&书信电报;b带括号和不带括号

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++评

我想使用位移位运算符将一个数字乘以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)每个语言都有优先规则…哦,我明白了,但是,如果以前执行加法,它是如何给出32的?
x = (x<<1) + (x<<3)
x = (1<<1) + (1<<3)
x = 2 + 8
x = 10