0

我正在寻找一种以字节为单位存储整数的好方法。

情况如下:我有两个整数,值 1 是“1857”(11 位),值 2 是“14”(4 位)和 2 个字节(16 位)。我正在寻找的是将 2 个整数存储在 2 个字节中。这意味着剪切第一个整数,将 8 位放在第一个字节中,其余的加上第二个整数在第二个字节中。我还需要让他们重新在一起。

有没有办法或.net类来做到这一点?我找到了 BitConverter 类,但这不是我要找的,因为这个类只将一个整数转换为一个完整的字节数组。

4

1 回答 1

3

您可以为此使用位运算符:按位和 (&),或 (|),并左移 (<<) 和右移 (>>):

int value1 = 1857;
int value2 = 14;

int result = value1 | (value2 << 11);

要取回原始值,您必须将其反转:

int result1 = result & 0x7ff; // 1857
int result2 = result >> 11; // 14
于 2014-02-06T14:59:33.690 回答