私は他の人のコードを読んでいますが、それがどのように機能しているのかよくわかりません。これが 3 行のコードです。w3 の値を知りたい:
int w1 = fgetc(fp) & 0xFF;
int w2 = fgetc(fp) & 0xFF;
int w3 = w1 + (w2 << 8);
fgetc() が FILE* fp から文字を返すことは理解していますが、値が 0xFF の文字に & 演算子を使用すると混乱します。次に、w2 でビットごとのシフト演算子を使用し、それを w1 に追加します。文字と整数のどちらを期待すべきかわかりません。これは、ファイルからバイナリ データを読み取り、出力として UV 座標を生成するプログラムのコード スニペットです。しかし、私はそのことにはあまり関心がなく、上記のコードがどのように機能するかについてより関心があります。
ご回答ありがとうございます。