两个16位的数字如何变成32位整数

两个16位的数字怎么变成32位整数就像C语言中的union其中一个16位数占32位的高16位,另外一个是低16位,不是i

两个16位的数字怎么变成32位整数
就像C语言中的union
  其中一个16位数占32位的高16位,另外一个是低16位,
  不是 int1 | int2 这种的
 

[解决办法]
a << 16 + b
=>
(a << 16) + b

仔细看了下,漏了一个括号。在a>32768的时候,符号位没有正确处理。

a * 65536 + b 则在任何情况下都是和你的一样的。