- ベストアンサー
基本情報技術者試験 論理演算に関する問題
最上位をパリティビットとする8ビット符号において,パリティビット以外の下位7ビットを得るためのビット演算はどれか。 ア 16進数0FとのANDをとる。 イ 16進数0FとのORをとる。 ウ 16進数7FとのANDをとる。 エ 16進数FFとのXOR(排他的論理和)をとる。 (基本情報技術者試験 平成18年度春季午前 問6) この問題の解説お願いします。パリティビットって何ですか。いまいちよく分かりません。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
パリティビットとはパリティチェック(誤り制御)を行うビットのことで この場合、下位7桁のビット列(純粋なデータ)に特別な計算を行い、 それを最上位の1桁にパリティビットとして付加して8ビット符号を構成しています。 (つまり最上位の1桁は送信中・送信後に「送りたいデータである7ビット」の情報が崩れていないか の判別を行うためのものであり、最上位1桁のビットは「相手に送りたいデータ」そのものではない。) ここで仮に今回送受信される8ビット符号のビット列を「10110011」とします。 下7桁の情報が欲しく、最上位1桁が不要の場合、これに「01111111」を掛け合わせます。 ここで「掛け合わせる」と表現したのは2つのビット列のそれぞれの桁の数字が共に1の場合は1、どちらかが0の場合は0です。 なのでこの場合は、ANDを使用します。 「10110011」と「01111111」のANDは....「00110011」となります。 これによりパリティビットを無視した純粋な情報データが取得出来ます。 最後にこの問題の仕上げとして今回掛け合わせた「01111111」を16進数に変換します。 2進数「01111111」は16進数「7F」となりますので、よって答えはウの16進数7Fとのアンドをとる。となります。
その他の回答 (3)
- 774danger
- ベストアンサー率53% (1010/1877)
パリティですが、例えば奇パリティとします 7ビットのデータ1101110があったとして、1の数が奇数個になるように頭に0か1を付けてあげます 1101110の場合は1が5個あって奇数個ですから0を付けて、01101110になります この頭に付けた0がパリティビットです 例えば、データエラーが発生して、5番目のビットがわからなくなり、受信側で0110X110になったとします でも、もともと1の数が奇数個になるように決めたのですから5番目のビットは1になると判断できデータの復旧ができます ただし、わからないビットが2つになってしまうと復旧できません HDDのRAID3やRAID5もこれの繰り返しでデータの書き込み/復旧をしています (パリティを1台のHDDにまとめるか、分散させるかが3と5の違いです)
補足
パリティビットの意味が分かりました。 ありがとうございます。
- flextime
- ベストアンサー率45% (31/68)
パリティビットはデータ通信の受信時やメディアからデータを読み出したときに、データが正しいかを判断するのに使用するフラグです。 データ(7ビット)+パリティ(1ビット)の1の数を、パリティビットで偶数個か奇数個にすることで、判断できるようにします。 問題の場合、パリティビットが1ならデータは“1XXX XXXX”になり、0なら“0XXX XXXX”になるので、このデータから“XXX XXXX”を取り出す方法はどれかという事です。(ウですね。) 類似の問題として今年の春の午前の問10もあります。 http://www.k4.dion.ne.jp/~type_f/FE_20S_AM/FE_20S_AM_10.html
お礼
パリティビットの意味がまだなんとなくですが 分かってきました。ありがとうございます。
- ymmasayan
- ベストアンサー率30% (2593/8599)
パリティビット・・ビット誤りのチェックのために付加されるビット↓ この問では7ビットに対して1ビット付加されています。 パリティービットを外して真の7ビットを取り出すのが問題の趣旨です。 この答えはウですね。
お礼
とき方は分かりました。ありがとうございます。
お礼
パリティビットについてだいぶ分かってきました。 詳しい回答ありがとうございます。