このやや奇妙な方法でデータをシリアル化/転置する最も効率的な (最速の) 方法は何ですか。いくつかのデータを含む8つの配列があるとしましょう。
char Array0[10];
char Array1[10];
.............
char Array7[10];
I need to get an output array that will have:
Output[80];
Output.byte0.bit0 = Array0.byte0.bit0
Output.byte0.bit1 = Array1.byte0.bit0
Output.byte0.bit2 = Array2.byte0.bit0
Output.byte0.bit3 = Array3.byte0.bit0
.....................................
Output.byte0.bit7 = Array7.byte0.bit0
Output.byte1.bit0 = Array0.byte0.bit1
Output.byte1.bit1 = Array1.byte0.bit1
Output.byte1.bit2 = Array2.byte0.bit1
Output.byte1.bit3 = Array3.byte0.bit1
.....................................
Output.byte1.bit7 = Array7.byte0.bit1
基本的に、出力配列のビット 0 には、入力配列 0 のシリアル化されたデータが含まれます。出力配列のビット 1 には、入力配列 1 などのシリアル化されたデータが含まれます。
私はマイクロチップの PIC32 デバイスを使用していますが、それはそれほど重要ではありません。標準 C のままです。