汉明码的本质

学组成原理,学到汉明码。。唐塑飞的,里面只是说了怎么用没有说原理。。。挺不爽,就思考了下为什么。。下面的是猜测哈哈。

1.为什么 2^k >= n + k + 1?

其实是要用k位二进制去编码 n + k  。比如 n = 4, 那 只有 k >= 3 才能用3位二进制去编码 n + k + 1 = 8,为什么呢,在后面

2.为什么每一个检验位都要检验那么些个位,比如 第一个检验为就是检验1,3,5,7,9 。。。位?

因为,这些数字的二进制 第1位就是1.。。同样的。。二进制中第二个数字是1的就是第二位检验位要检验的  2,3,6,7,10,11.。。。。。。

3.还不懂?

比如我们队发送过来的包含了汉明码的二进制进行检查。。按理说,每一组检验后都应该是0吧。。这时候如果  比如第一组发现检验出来是1,,那说明错误出现的位

其二进制编码的最低位就是1。。也就是比如k = 3那这个位就只可能是 001, 011, 101, 111,   这不就是 1,3,5,7,同样的  如果后几组检验出来都是0,,那不就确定是001

出错了嘛。。。如果第二组检验出来是1 ,其他是0,那就是011也就是第3位出错哈哈。

4。以上纯属猜测,如果有朋友发现是错的。。。。。。请指出吐舌头

原文地址:https://www.cnblogs.com/jiangu66/p/3170154.html