c# - 合并2个字节

标签 c# byte bit-manipulation

我有一个字节A和字节B。我正在寻找字节C,它是A中的每个其他位和B中的每个其他位。因此,如果A = 10011010并且B = 01110010,那么C将是10110101,其中1011是每个A 中的其他位和 0101 是 B 中的所有其他位。有人能帮我解决这个问题吗?

最佳答案

试试这个:

byte C = (byte)(
    (A & 0x80) |
    ((A & 0x20) << 1) |
    ((A & 0x08) << 2) |
    ((A & 0x02) << 3) |
    ((B & 0x80) >> 4) |
    ((B & 0x20) >> 3) |
    ((B & 0x08) >> 2) |
    ((B & 0x02) >> 1));

查看它在线运行:ideone

关于c# - 合并2个字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9846917/

相关文章:

c# - ((System.Object)p == null)

c# - Visual Studio 可扩展性,如何枚举解决方案中的项目?

c# - Azure Function Post C# 不以大体执行

java - 如何将 BigInteger 作为字节存储到文件中?

java - 通过字节 block 比较两个文件java

c# - HasFlag 无法识别角色分配

c# - 从命令获取可执行文件的路径(与 cmd 一样)

c++ - 使用奇数位大小的 union

c - 如何对大小/类型不同的变量执行按位比较

algorithm - Rutkowska 的位反转算法