如何将两个整数合并为一个以节省内存空间?

时间:2014-10-16 01:49:15

标签: integer compression

我想将两个整数值存储到一个内存位置。

例如,x和y是4个数字的两个整数(即值范围从0到9999)。我想将它们组合成一个16位的整数,并在需要时解码它们(单独的x和y)。

有任何想法或建议吗?

2 个答案:

答案 0 :(得分:1)

你不能。在0..9999中,两个整数有100,000,000个可能的值。 16位整数只有65,536个可能的值。

答案 1 :(得分:0)

您不能将给定的X和Y进行比特打包为16位。 0-9999中的单个值将消耗14位。第二个值只留下2位。

您至少需要28位。