short
C でデータ型の特定の部分 (ビット数) を抽出する必要があります。
たとえば、11001101000 11000 として 52504 のバイナリがあり、最初の 6 (FROM LSB --> MSB ie 011000 10 進数 24) ビットと残りの 10 ビット (11001101000 10 進数 820) が必要です。
同様に、この関数を一般化しすぎて、「開始」と「終了」を指定して特定のビット数 (つまり、10 進値に相当するビットのチャンク) を抽出できないようにしたいと考えています。
他の投稿を確認しましたが、特定の機能があまり一般化されていないため、それらは役に立ちませんでした。
short
Cのデータ型で機能するものが必要です。
編集
サイズが 2048 バイトの短い配列があります。各ピクセルは 10 ビットです。したがって、各バイトで構成される私の16ビットは、2ピクセルのデータ、場合によっては3ピクセルのデータを占有します。
お気に入り
( ピクセル : 0,1 ) 10 ビット + 6 ビット
次に ( PIXEL : 1,2,3 ) 4 BITS (最初のピクセルの残りのビット) + 10 BITS + 2 BITS.
など..このパターンは続きます...したがって、各ピクセルを抽出し、各ピクセルが完全にバイト全体(16ビット)で占有される配列全体を作成したい.. 1バイトには1が含まれている必要がありますDATA PIXEL、その他の BYTE には、その他の PIXEL 値を 16 ビット全体で含める必要があります。