关于海明码卢湾电大 在本科计算机科学技术专业有一门课程《计算机组成原理》,在讲述“3.1.3检错纠错 码”一节的海明码时,学生多有疑惑,但常有考题出于斯,因此整理了一个讲稿。基于学生 主要是使用海明码,而不是研究海明码,所以重点讲清使用方法。 数据经过传送、存取等环节,就会发生误码——1 变成0 变成1,这就引出如何发现及纠正误码的问题,称为检错与纠错。为了检错与纠错必须在原始数据位的基础上增加几 位校验(冗余)位。 一个编码系统中任意两个合法编码之间不同的二进制位数叫这两个码字的码距,而整个编码系统中任意两个码字的最小码距就是该编码系统的码距。 如图1 所示的一个编码系统,用三位二进制来表示八个不同信息。在这个系统中,两 个码字之间不同的位数从1 不等,但最小值为1,故这个系统的码距为1。如果任何码字中一位或多位出了差错,结果这个码字就不能与其它码字区分。例如,如果传送信息001, 而被误收为011,因011 仍是表中的合法码字,接收方仍将认为011 是正确的信息。 但是,如果用四个二进数字来编8 个码字,那么在码字间的最小距离可以增加到2,如 的表中所示。