从昨天开始我一直在努力工作,我似乎无法完全理解这一点。我想要完成的是,我需要将2个数字合并为1个字节。前四位中的第一个数字,后四位中的第二个数字。
0001 = 1
0110 = 6
然后从二进制“00010110”中将它们设为1个字节。
之后,我还想分别提取1和6。我怎么做?
我所能做的就是从另一个问题中得到的提取:
int b = Convert.ToByte(value);
byte[] b1 = new byte[2];
b1[0] = b >> 4;
b1[1] = b & 0x0F;
假设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.
}