パリティビットの問題について

くーさん  
(No.1)
問題)8ビットのレジスタがある。このレジスタの各ビットの値を d0,d1,…,d7とし,パリティビットの値をpとする。奇数パリティの場合,常に成立する関係式はどれか。ここで,⊕は排他的論理和演算を表す。

答え)
d0⊕d1⊕ … ⊕d7⊕p=1

疑問
奇数パリティのため、d0~d7の和が1なのは理解しています。
パリティビットであるp=1である。
そのため
d0⊕d1⊕ … ⊕d7⊕p=0が正解になるのではないでしょうか?
2023.07.19 15:03
jjon-comさん 
AP プラチナマイスター
(No.2)
> 奇数パリティのため、d0~d7の和が1なのは理解しています。

いいえ,間違っています。

パリティチェックの対象ビット列 と パリティビット を含めてXOR演算したとき,
演算結果が1(奇数)になるように設定されるのが奇数パリティビットです。

奇数パリティビットを含まない d0~d7 だけに着目するのであれば,
そのXOR演算結果が0(偶数)のときに,奇数パリティビットは1になります。
2023.07.19 15:56
電タックさん 
(No.3)
https://www.ap-siken.com/kakomon/17_aki/q6.html

かっこよく論理演算で表せられたら良いですけどそんなアタマが良くないので・・・私は4つに場合分けしてシンプルにXORして出してました。

A・d0からd7のビットで1の数が奇数個だったら、全部のXOR結果が1
PA・Aの場合パリティは0
B・d0からd7のビットで1の数が偶数個だったら、全部のXOR結果は0
PB・Bの場合パリティは1
の4つになります。

この上で

・A{1} XOR 0 = 1 ≠ PA{0}
・B{0} XOR 0 = 0 ≠ PB{1}

・A{1} = 1 ≠ PA{0}
・B{0} = 0 ≠ PB{1}

・A{1} XOR PA{0} = 1 ≠ 0
・B{0} XOR PB{1} = 0 ≠ 0

・A{1} XOR PA{0} = 1 = 1
・B{0} XOR PB{1} = 1 = 1
2023.07.19 15:59
Howitzerさん 
(No.4)
d0~d7 には、パリティが含まれないので、XORの結果は不定です。
0 になるのか 1 になるのか、わからないです。

奇数パリティとは、パリティの値を調節して、パリティビット込みで「1」の数を奇数にすることなので、パリティビット込みのXORの結果は常に 1 になります。

パリティビット込みのXORの結果が 0 になるということは、「1」の数が偶数ということなので、それは偶数パリティです。
2023.07.19 16:02

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop