平成26年度 春期 午前 問2
離散数学
パリティビットに関する問題
最上位をパリティビットとする 8 ビット符号において,パリティビット以外の下位 7 ビットを得るためのビット演算はどれか。
- ア16 進数 0F との AND をとる。
- イ16 進数 0F との OR をとる。
- ウ16 進数 7F との AND をとる。
- エ16 進数 FF との XOR(排他的論理和)をとる。
答えと解説を見る
✓ これが正解ウ16 進数 7F との AND をとる。
解説
残したい位置に1を置いた値とANDをとります。
ビット演算のうち AND には、1 と組み合わせた位置はもとのまま残り、0 と組み合わせた位置は必ず 0 になるという性質があります。ここから、残したい位置に 1 を、消したい位置に 0 を並べた値を用意して AND をとる、という型が出てきます。設問が求めているのは、最上位のパリティビットだけを 0 にし、下位 7 ビットはそのまま取り出した形です。そのとおりに並べると 2 進で 01111111 となり、16 進数で書けば 7F です。したがって 7F との AND をとれば目的が果たせます。元の値が 11010110 のときに当てはめると 01010110 が得られ、最上位だけが 0 になって下位 7 ビットは変わっていません。取り出す、あるいは消すと書いてあれば AND を疑う、と覚えておくと選び分けが速くなります。
ほかの選択肢はなぜ違うのか
- ア16 進数 0F との AND をとる。:0F を 2 進で書くと 00001111 になります。この値を相手にすると生き残るのは下から四つの位置だけで、必要な七つには三つ足りません。上位側が丸ごと消えてしまいます。
- イ16 進数 0F との OR をとる。:OR は組み合わせた位置を 1 に立てる働きをします。もとの値が何であっても下から四つの位置が 1 になってしまうため、取り出すどころか中身を書き換えることになります。
- エ16 進数 FF との XOR(排他的論…:FF を 2 進で書くと 11111111 です。XOR は同じ位置どうしを比べて食い違えば 1 を返すので、すべての位置が反転します。もとの並びが失われ、取り出したい形にはなりません。
この問題の用語
- パリティビット誤りを見つけるために付ける1ビットの検査用データ。1の個数が偶数か奇数かをそろえておき、1ビットの誤りを検出します。
- OR数学の手法を使って、いくつかの案から最も有利なものを選ぶ考え方です。期待される費用や利益を計算して比べるときに使います。
出典:平成26年度 春期 基本情報技術者試験 午前 問2
同じ用語が出る問題
- 令和7年度 科目A 問6:SQLに関する問題(OR)
- 令和6年度 科目A 問1:X□Yの真理値表(OR)
- 令和元年度 秋期 午前 問22:論理積に関する問題(OR)
- 平成31年度 春期 午前 問22(OR)
- 平成31年度 春期 午前 問2:論理積に関する問題(パリティビット)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)