确定校验码的位数x
设数据有n位,校验码有x位。则校验码一共有2^x种取值方式。其中需要一种取值方式表示数据正确,剩下2^x-1种取值方式表示有一位数据出错。因为编码后的二进制串有n+x位,因此x应该满足
2^x-1 ≥ n+x
**
海明校验码的确定校验码位数中,对于如何得到这个公式,我一直理解不来,这里面2^x种方式和n+x为什么有关系呢?**
确定校验码的位数x
设数据有n位,校验码有x位。则校验码一共有2^x种取值方式。其中需要一种取值方式表示数据正确,剩下2^x-1种取值方式表示有一位数据出错。因为编码后的二进制串有n+x位,因此x应该满足
2^x-1 ≥ n+x
**
海明校验码的确定校验码位数中,对于如何得到这个公式,我一直理解不来,这里面2^x种方式和n+x为什么有关系呢?**
2^x表示校验码有2的x次方种取值方式,而n+x表示编码后的二进制串有n+x位,因此2^x-1 ≥ n+x的公式就是为了保证校验码可以正确的表示出数据中有一位出错的情况,也就是说,校验码的取值方式要多于编码后的二进制串的位数,这样才能保证校验码可以正确的表示出数据中有一位出错的情况。