如何用c#中的另一个字节的LSB替换字节的LSB。
像这样的东西
byte1 - 0 1 1 1 1 1 1 1
byte2 - 0 0 1 1 1 0 0 0
现在我希望字节1的lsb,即“1”被字节2的lsb替换,即“0”。 所以我的最后一个字节应该是这样的:
byte3 - 0 1 1 1 1 1 1 0
答案 0 :(得分:6)
听起来像你想要的东西:
byte x = ...;
byte y = ...;
// Only bits 1-7 of x, and only bit 0 of y (counting bit 0 = LSB)
byte z = (byte) ((x & 0xfe) | (y & 1));
强制转换是必要的,因为所有运算符仅定义为int
和更大,因此所有内容都会被提升为int
。