私は現在、いくつかの特注のデータ構造を解析する必要がある C プログラムを開発しています。幸いなことに、それらがどのように構造化されているかは知っていますが、C でパーサーを実装する方法がわかりません。
各構造体の長さは 32 ビットで、各構造体はそのバイナリ署名によって識別できます。
例として、私が興味を持っている 2 つの特定の構造があり、それらには次のバイナリ パターンがあります (x は 0 または 1 を意味します)。
0000-00xx-xxxx-xxx0
0000-10xx-10xx-xxx0
これらの構造内の「x」ビットには、必要な実際のデータが含まれているため、基本的に、各構造内でのビットの書き込み方法に基づいて各構造を識別する方法が必要です。
したがって、疑似コードの例として:
if (binaryPattern = 000010xxxxxxxxx0) {
do something with it;
}
それらを int として読み取ってから、ある種のビットマスキングを実行するのがよい方法だと推測していますが、私の C の知識はあまり高くなく、単純な論理 OR 演算でそれができるかもしれません。始める前にこれを行うためのアドバイス。
ありがとう
回答してくださった皆様、大変助かりました!!