我正在尝试左移位以创建一种"还原">
例:
byte[] key => 00000001 00000001
00000000 00000001 00000000 00000000 00000001 00000001想要的输出 => 11010011
我在努力
for (int i = key.Length - 1; i >= 0; i--){
key[i] = (byte)((key[i] << 7) & ((i == 0) ? 0 : key[i - 1] >> 0));
}
这项工作,ty @jdweng
byte[] input = { 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1 };
byte[] output = input.Select((x,i) => new { x = x, i = i}).GroupBy(x => x.i/ 8) .Select(x => (byte)x.Select((y, i) => y.x << (7 - i)).Sum()).ToArray();