作者jameschou (DOG)
看板Grad-ProbAsk
標題Re: [理工] [計組]Hammming碼C1 C2等檢查位元問題
時間Sun Dec 19 19:15:52 2010
※ 引述《sroeud7l》之銘言:
: 是看小張的題目解答
: 關於C1 C2 C3 C4等的求解不太了解
: 題目(片段)大概是:
: 給一8-bit word 00111001
: check bits store with 0111
: answer:
: 以下是表格
: 12 11 10 9 8 7 6 5 4 3 2 1
: M8 M7 M6 M5 C8 M4 M3 M2 C4 M1 C2 C1
: 0 0 1 1 0 1 0 0 1 1 1 1
: C1 = M1 xor M2 xor M4 xor M5 xor M7 = 1
: C2 = M1 xor M3 xor M4 xor M6 xor M7 = 1
: C4 = M2 xor M3 xor M4 xor M8 = 1
: C8 = M5 xor M6 xor M7 xor M8 = 0
: 疑問是怎麼知道
: C1是要xor M1 M2 M4 M5 M7
: C2是要xor M1 M3 M4 M6 M7
: C4是要xor M2 M3 M4 M8
: C8是要xor M5 M6 M7 M8
: 之前的關聯是怎麼得知的?
我不知道小張是誰..
但我大概知道你想問的是什麼
這是一段滿長的故事..
其實也還好啦XD
其實就是把1,2,...,12寫成2進位
然後把你的C1,C2,C3,C4放進去
表會有點像這樣:
數 | 二進位表示
----|-------------------
1 | 0 | 0 | 0 | C1
2 | 0 | 0 | C2 | 0
3 | 0 | 0 | 1 | 1
4 | 0 | C3 | 0 | 0
5 | 0 | 1 | 0 | 1
6 | 0 | 1 | 1 | 0
7 | 0 | 1 | 1 | 1
8 | C4 | 0 | 0 | 0
9 | 1 | 0 | 0 | 1
10 | 1 | 0 | 1 | 0
11 | 1 | 0 | 1 | 1
12 | 1 | 1 | 0 | 0
----------------------------
最後要對每一個row作同位元檢查
比如說第一個row
就是看C1跟第3.5.7.9.11個位置作xor
你回到剛剛你的那個表
就可以看出第3.5.7.9.11個位置分別是
M1 M2 M4 M5 M7
這也就是你C1為何要這樣求的原因
其他C2,C3,C4則分別看第2,3,4個row的同位元檢查即可
希望有幫到你忙:)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.139.83
推 sroeud7l:謝謝 我搞懂了 因為有的是M1~M8 有的是跳過C1 C2 C4 C8寫 12/20 11:23
→ sroeud7l:M3 M5 M6 M7 M9~M12來代表 讓我以為公式不是固定的 謝謝 12/20 11:24
→ sroeud7l:的教導了:D 12/20 11:25