【发布时间】:2020-04-09 13:14:32
【问题描述】:
我需要构造 0x444 的 (31,26) 汉明码。
在阅读了 Wikipedia 和 GeeksForGeeks 中显示的算法后,我仍然无法理解这是如何工作的,因为我的构造最终与我在互联网上找到的计算器的结果不同。
我的结果是:0100 0100 0010 0010 或 0x4422 对吗?
据我了解: P1 = 按位异或(C1,C3,C5,C7,C9,C11,C13.C15,C17..) = 0
P2 = 按位异或(C2,C3,C6,C7,C10,C11,C14,C15..) = 1
P3 = 按位异或(C4,C5,C6,C7,C12,C13,C14,C15..) = 0
P4 = 按位异或(C8,C9,C10,C11,C12,C13,C14,C15..) = 0
P5 = 按位异或(C16,C17..) = 0
我无法理解的另一件事.. 如果 (31,26) 汉明码应该输出具有 5 个奇偶校验位和 26 个数据位的 31 位结果.. 为什么 (7,4) 汉明码会转换 每个 4 位到 7 位表示,而不仅仅是 7 位和 3 个奇偶校验位的 1 位表示?
谢谢。
【问题讨论】:
标签: algorithm networking hamming-code