c ++中以下表达式的含义是什么?

1 c++ bit-manipulation

c ++中以下表达式的含义是什么?

(variable1 | (variable2 << 8))
Run Code Online (Sandbox Code Playgroud)

它是什么意思?它代表什么?

tst*_*ner 9

它连接了两个变量.
假设你有两个字符,ab.a|b<<8b8位向左移位,|设置a或中的每一位b.
所以在这个例子中,结果将是" ab".

'a'是97,'b'是98,所以按位发生以下情况:

a:      01100001
b:              01100010
b<<8:   0110001000000000
a|b<<8: 0110001001100001


Alo*_*ave 7

|按位OR
<<按位左移运算符

   (variable1 | (variable2 << 8))
Run Code Online (Sandbox Code Playgroud)

向左移位variable2(8位)8然后ORvariable1(8位)移位结果,结果输出将组合两个变量variable1variable2表示为一个变量(16位).