私はCを初めて使用し、ビットマスキング操作の使用法を理解するのに苦労しています。たとえば、次のコードがあります
if((input & 0x08)== 0)
{
//Do....//
}
入力を int 値 00000111 にしました。これは 2 進数と 16 進数で 7 ですが、この比較を行うと false と評価されます (if ステートメントに入ることはありません)。
これが私が理解していることであり、何が起こるべきかです
00000111 input
& 00001000 0x08
------------
00000000 answer
だから私の質問は、どうすれば正しい出力を得ることができるかです。