可以在java中反转这个吗?
byte config = (byte)((X << 6) + Y);
知道X是0,1,2或3(2位),Y在0到24(5位)之间
答案 0 :(得分:0)
您可以通过以下方式撤消它:
X = (config >> 6) & 0b11
Y = config & 0b11111;
& 0b11
和& 0b11111
是bitwise operations。它们分别给出了它们应用的最后2位和最后5位。
任意长度怎么样?
当且仅当结果中的每个位来自x或(独占)y时,才能反转组合。 总之:你需要至少移动x 的长度。