# 改文章转载于其他博主,主要是方便后面自己查阅
汉明码实现原理
汉明码(Hamming Code)是广泛用于内存纠错的编码。汉明码不仅可检错,还可纠错。(只能发现和纠正一位错误,对于两位或者两位以上的错误无法纠正)。
我们约定一串编码里1的个数是偶数个,那么这串编码里携带的信息就是对的,否则就是错的。我们可以在开头对这串编码加一位校验码实现奇偶校验。比如:
我们想传输10010这串码,那么在传输的时候,就传010010,其中在开头的0就是校验位。
我们想传输10000这串码,那么在传输的时候,就传110000,其中在开头的1就是校验位。
两个例子的1的个数都是偶数。
首先汉明码是采用奇偶校验的码。它采用了一种非常巧妙的方式,把这串数字分了组,通过分组校验来确定哪一位出现了错误。
比如上图,数据分成3组