PHP:将两个16位整数组合成一个32位整数

时间:2010-06-17 22:06:24

标签: php bit-manipulation

我正在尝试在我的应用程序中组合两个整数。通过组合,我的意思是在另一端的末尾粘贴一个字节流,而不是连接字符串。

两个整数从不能直接传递32位值的硬件传递,但是分别传递两个连续的16位值。

谢谢,

2 个答案:

答案 0 :(得分:8)

$a = ($a << 16) | $b;

答案 1 :(得分:1)

我不知道PHP中的语法,但我敢打赌它支持按位运算符。

您可以将第一个16位整数移到左侧,并将其添加到第二个16位整数:

first integer:
                0000000000000001
second integer:
                0000000000000010
shift first to the left by, say, 16:

first integer:
00000000000000010000000000000000
second integer:
                0000000000000010
add them:
00000000000000010000000000000010