- ベストアンサー
ビットの反転?
0f4d^000f(16進数です) という問題で、わたしの利用している参考書では、下位4ビットを反転させて、答えが0f42となるとありますが、どのような過程でこの結果になったのか全く理解できません。わたしの勉強不足ですが、教えてください。おねがいします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
まず0f4d^000fの意味ですが、こればビットの排他的論理和をとることを示します。 では、ビットの排他的論理和とは何かということですが、1ビット単位で考えたとき、 1 ^ 1 = 0 0 ^ 0 = 0 1 ^ 0 = 1 0 ^ 1 = 1 となります。 簡単にいうと、どちらも同じ値(1同士、0同士)の時は、0となり、異なるときは1となります。 上記の0f4d^000fはビットで考えると 0000 1111 0100 1101 = 0f4d 他方のビット 0000 0000 0000 1111 = 000f 一方のビット ------------------------------ 0000 1111 0100 0010 = 0f42 となります。 ここでビットの排他的論理和の性質として 一方が0のビットであれば、結果は他方のビットと同じ値になる。 一方が1のビットであれば、結果は他方のビットを反転した結果となる。という性質があります。 従って、一方のビットから見たとき、左の12ビットは全て0の為、他方のビットの値と同じになります。そして右の4ビットは全て1のため、他方のビットを反転した値となります。従って、0000 1111 0100 0010 = 0f42 となります。
その他の回答 (3)
- ryk1234
- ベストアンサー率40% (46/113)
No2です >0000 1111 0100 0001 書き間違えました… 0000 1111 0100 1101 0000 0000 0000 1111 0000 1111 0100 0010 失礼致しました
お礼
わざわざ親切にありがとうございます。
- ryk1234
- ベストアンサー率40% (46/113)
0000 1111 0100 1101 0000 0000 0000 1111 0000 1111 0100 0001 一致しなければ[1] 一致すれば[0] となります
お礼
なるほど。そういうことですか。理解できました。回答ありがとうございました。
- teo98
- ベストアンサー率23% (70/303)
代意が分かりませんが、 0f4dの下位4ビット=d=1101です。 反転させると、0010=2です。 つまり、0f42ってことではないのかな
お礼
題意がわかりにくくてごめんなさい。理解できました。回答ありがとうございました。
お礼
正直びっくりしました。論理的で丁寧で・・。本当に親切に教えてくださってありがとうございます。