dポイントプレゼントキャンペーン実施中!

最上位をパリティビットとする8ビット符号において、パリティビット以外の下位7ビットを得るためのビット演算はどれか。

ア 16進数0FとのANDをとる
イ 16進数0FとのORをとる
ウ 16進数7FとのANDをとる
エ 16進数FFとのXOR(排他的論理和)をとる

解答 ウ

なぜ ウ の7FとのANDなのかさっぱり分かりません。
解説お願いします。

A 回答 (3件)

AND演算の真理値表は理解していますよね?今回のような質問が出てくると言うことは、そこに迷いがあるからです。



今回の設問では、最上位ビットがパリティなので、残りの下位7ビットがデータになりますよね。じゃあパリティビットを消すにはどうするかと言うと、最上位ビットだけゼロ、後は1を立てた値をANDすればよいわけです。つまり、16進で言う7Fです。

ただパリティとしか書かれておらず、偶数パリティか奇数パリティかは解りませんが、どっちにしても「7F=0111 1111」なのでパリティ部分はゼロとのANDを取る、「0 AND 1」「0 AND 0」のいずれかであり、どっちにしろ答えはゼロです。よってパリティビットは消えてなくなります。

残りのデータの部分は全て1とのANDです。「1 AND 1」「1 AND 0」のいずれかになり、1が立っているビットは1に、0のビットは0のままになります。つまり、データ部分のビットは全てそのまま残ります。
    • good
    • 0

01111111(7F)と任意の数のANDをとると


結果は任意の数に対してどうなりますか?
    • good
    • 0

2進数に変換してから考えてますか?

この回答への補足

ウだと2進数にした場合

01111111

ですよね?なぜこうなるのか分からないのです。

補足日時:2010/02/14 19:36
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!