如何连接2个二进制数?

How to concatenate 2 binary numbers?

我有 2 个整数值,x 和 y。 x是2位,y是10位。我需要找到 z ,它是 x 和 y 的串联。 z 是 12 位。我如何在 java 中做到这一点?如果您能解释其背后的逻辑,我将不胜感激。 谢谢。

假设x是结果的高位部分:

int z = (x << 10) | y;

换句话说,y直接用作结果的第0位到第9位,我们将x移位,使其值在第10位和第11位。然后我们将这两个结合起来.

(最低位从0开始编号)