我正在尝试将单个字节值存储到 int 中的某个位置,但是,我无法弄清楚如何做到这一点。我已将要存储在 int 中的字节转换为正确的值,但我不知道如何将它与值结合起来。
public static int ibyteToInt(int b, int pos, int val)
{
return ((b & 0xff) << (8 * pos)) ??;
}
最简单的解决方案是从 int 中解压缩其他 3 个字节,然后将 4 个字节重新组合成一个 int,但这当然不会非常高效。
public static int bytesToInt(byte a, byte b, byte c, byte d)
{
return ((a & 0xff) << 0) | ((b & 0xff) << 8) | ((c & 0xff) << 16) | ((d & 0xff) << 24);
}