代码之家  ›  专栏  ›  技术社区  ›  TerribleDog

将2个整数合并为1字节

  •  0
  • TerribleDog  · 技术社区  · 7 年前

    0001 = 1

    = 6

    然后从二进制“00010110”中取1字节。

    之后,我还要分别提取1和6。我该怎么做?

    int b = Convert.ToByte(value); 
    byte[] b1 = new byte[2];
    b1[0] = b >> 4;
    b1[1] = b & 0x0F;
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   zx485 potemkin    7 年前

    假设 value1 0001 = 1 和 value2 是 0110 = 6 ,可以使用 OR 操作 |

    byte result = 0;
    try {
      byte b1 = Convert.ToByte(value1); 
      byte b2 = Convert.ToByte(value2); 
      result = (b1 << 4) | (b2 & 0x0F);
    } catch (OverflowException) {
      ... // Handle 'Int too big' situation.
    }