過去問解きまくり研究所 ホーム

平成31年度 春期 午前 問2

離散数学

論理積に関する問題

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

答えと解説を見る

✓ これが正解ウ16進数 7F との AND をとる。

解説

下位七桁だけを残すので、7F との論理積を取ります。

特定の桁だけを残す操作は、ビットマスクと呼ばれます。残したい桁に一を、消したい桁に零を置いた値を用意します。その値と論理積を取れば、零の桁はすべて零になります。一の桁は、元の値がそのまま残ります。この問いで残したいのは、最上位を除いた下位の七桁です。ですからマスクは、最上位が零で残り七桁が一の値になります。それを十六進で書くと 7F です。最上位のパリティビットだけが落ち、他は変わりません。マスクを 0F にすると、残るのは下位の四桁だけになります。論理和を取ると、消すどころか一を立ててしまいます。排他的論理和を FF と取れば、全桁が反転します。どの桁を残すかと、どの演算を使うかの二つを合わせて選びます。マスクの値は、残す桁数から二進で組み立てると間違えません。七桁なら一を七つ並べます。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成31年度 春期 基本情報技術者試験 午前 問2

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)