C++中位操作问题,怎么把两个二进制数连接起来

如题,如果定义了两个四位二进制数a=1001,b=1100,现在需要把这两个数连接起来变成一个八位二进制数10011100,该怎么写代码?汇编倒是可以很容易实现,先谢谢各位好心人了

8个回答

a * 16 + b

使用移位操作 (a << 4) & b

91program
91program 回复过往今昔: 左移自动补零,右移需看最高位。
5 年多之前 回复
u012662953
过往今昔 8位与4位 ,位相与自动补零?
5 年多之前 回复

应该是(a<<4)|b 个吧。

c=(a<<4)|b

a*16+b 就可以啦,如果要效率可用位运算

MAKEWORD();

MAKEWORD();

(a<<4)|b 这个应该是最佳答案

立即提问