下にある、6-bit data words をシングル エラー コレクション ハミング コードをつかって書き直せ。
という問題なんですが。ハミングコードエラーを出すとすると、6bitなのでものすごい大きい数になってしまうことが予想されて、不に落ちない感じがします。しかも書き直せと書いてあるんですよねぇ。。いったい何から初めてどうすればいいのか分かりません。。ヒントでもいいのでいただけると、ありがたいです。
よろしくお願いします。
Rewrite the following 6-bit data words using a single error correction Hamming code:
A 100 011
B. 110 010
No.1ベストアンサー
- 回答日時:
↓の問15のように4ビット+3ビットの例がよく使われます。
6ビットでも8ビットでも+4ビットにすれば16ビットまで表せますので
問題ありません。
後は1ビットどこに追加するかということと
式を1個追加して整理することですね。
参考URL:http://www.mirai.ne.jp/~suehiro/am/h0904/1-h9am1 …
凄くよく分かりました!ありがとうございます^^
AとBの2進数の中に冗長ビットが含まれて居ないと思っていたのですが含まれていたようなので、シンプルにできました。
ちなみに
情報ビットX1,X2,X3,X4の4ビットに、冗長ビットとしてP3,P2,P1の3ビットを付加したハミング符号X1X2X3P3X4P2P1
のX1X2X3P3X4P2P1はP3とX4は逆ですよね?
即効の回答ありがとうございました^^
No.2
- 回答日時:
ハミング符号では、
「パリティ値」が「全体のビット数」の中のエラービットの位置を示す形になります。
つまり、パリティ値が3ビットの時は、3ビットで表現できる数は0~7なので(0=エラーなし)で、
1~7がエラービットの位置を表すことになり、全体では上限7bitになります。つまり、データは上限4bit。
パリティ値を4ビットにすると、4ビットで表現できる数は0~15なので(0=エラーなし)で、
1~15がエラービットの位置を表すことになり、全体では上限15bitになります。つまり、データビットは最大11bit。
11bit以下である6ビットのデータも、パリティ4ビットでエラー訂正可能であり、その時は全体のハミング符号は10bitになります。
次に解き方。基本はデータ4bit-パリティ3bitの場合と同じです。パリティ4bitの場合、データの列びは、たとえば下記のようになります。
データ:X6 X5 X4 X3 X2 X1
パリティ: P4 P3 P2 P1
ハミング符号: X6 X5 P4 X4 X3 X2 P3 X1 P2 P1
このハミング出力のビットのならびは、P1が2^0=1番目、P2が2^1=2番目、P3が2^2=4番目、P4が2^3=8番目にくるように、パリティ値をデータの中に混ぜこんだものです。
あとは、各データのビット位置を二進数で表すと
X6=10ビット目=1010
X5= 9ビット目=1001
P4= 8ビット目=1000
X4= 7ビット目=0111
X3= 6ビット目=0110
X2= 5ビット目=0101
P3= 4ビット目=0100
X1= 3ビット目=0011
P2= 2ビット目=0010
P1= 1ビット目=0001
ですので、この2進数で表したビット位置が1になっているビットをXORすればパリティ値が求まります。右から4ビット目: これが1になっているのはP4、X5、X6 →P4=X6 xor X5
右から3ビット目: これが1になっているのはP3、X2、X3、X4 →P3=X4 xor X3 xor X2
右から2ビット目: これが1になっているのはP2、X1、X3、X4、X6→P2=X6 xor X4 xor X3 xor X1
右から1ビット目: これが1になっているのはP1、X1、X2、X4、X5→P1=X5 xor X4 xor X2 xor X1
となります。
これを元に、A:100 011の場合のハミング符号を求めると、
X6=1、X5=0、X4=0、X3=0、X2=1、X1=1ですから、
P4=1 xor 0 = 1
P3=0 xor 0 xor 1 = 1
P2=1 xor 0 xor 0 xor 1 = 0
P1=0 xor 0 xor 1 xor 1 = 0
ですので、
ハミング符号: X6 X5 P4 X4 X3 X2 P3 X1 P2 P1 = 1010011100
になります。
これは上述のビットならびを仮定した解法です。ハミングコードの符号の混ぜ込み方は特に定められいるものではなく、
問題によっては逆順に並べる場合もあったりするので、問題条件にあわせて考え直して下さい。
あああー!せっかく長く答えていただいたのに、行き違いでした。。。でも、冗長ビットが含まれていると思いましたが、こう考えて見ると含まれていないですよね、。。。きっと。問題があまり理解できていないと思うので、両方もとめることにします。ありがとうございました><
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Visual Studio Code 関数の使い方について 3 2023/05/31 13:15
- Visual Basic(VBA) VBAでArrayListを使う為の「mscorlib.tlb」の参照設定について 3 2022/03/23 19:45
- Excel(エクセル) Excel 2019 32-bit版を64-bit版にするには? 8 2023/07/28 14:20
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
- その他(プログラミング・Web制作) Python - Excel で Webからデータを連続取得したいのですが エラーが出ます 1 2023/07/06 20:08
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- FX・外国為替取引 MQL5にて謎のエラーが発生!だれか対処を教えてください! 1 2023/03/25 15:59
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
youtubeに動画をアップロードす...
-
海外のバイナンスが使用不可に...
-
何故ギフトカードを定価より高...
-
アマゾンギフト券
-
金券ショップはどこから安くチ...
-
JTB旅行券の換金
-
セブンイレブンでpaypayに入金...
-
デリヘルについて
-
1954年の100万円は、今だといく...
-
公園の水道から水をポリタンク...
-
外貨コインを日本円に換金する...
-
エラーコインではないと思うの...
-
ゆうちょATMなくなってるんだけ...
-
カラオケの請求料金に納得がい...
-
レジ締めについて(現金在高や...
-
TSUTAYAでとある漫画11巻まとめ...
-
Gmailのエイリアスって31個以上...
-
コイン式乾燥機に、コインが入...
-
「777」が番号に含まれてい...
-
UberEatsで何もしてないのに2,0...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
youtubeに動画をアップロードす...
-
冗長ビット…。
-
今のゲーム機、Bit数で言うと何...
-
トリマーの軸径について 本体6...
-
仮想通貨取引所で日本円の出金...
-
コインチェック 総資産の見方に...
-
IPアドレスの計算
-
1画素のビット数の求め方
-
ハミングコードを使っての訂正(...
-
JTB旅行券の換金
-
10進数からビットフラグの判定 ...
-
"計算機の語長"とは?
-
jnb デビットでセブンイレブン...
-
Apple PayでコンビニでAmazonギ...
-
Zaifでのビットコインの売却と...
-
bitcashの換金
-
何故ギフトカードを定価より高...
-
少数の10進法を2進法にする方法
-
海外のバイナンスが使用不可に...
-
ルーターでの切り欠き加工につ...
おすすめ情報