ECC错误修改只能纠正一位的数据错误能检测出两位的错误但是无法纠正汉明码原理是1、根据数据长度计算校验位的个数计算公式为在满足2^k≥nk1的前提下取最小的那个正整数 k,其中k为校验位的个数n为数据长度的位数如32位数据则校验位为6位2、根据校验位个数修改原本的数据格式即插入校验位进行数据整合以32位数据、6位校验位为例在第1、2、4、8、16、32位插入校验位(数据起始位为第1位)3、先对数据进行分组分组方式第1组为数据格式重组后数据下标值的第一位为1的数据(数据下标从1开始)用于计算第1位校验位的值将分组后的数据通过偶校验计算校验位的值如除校验位以外1个数为奇数则校验位为1反之为0同理计算出其余校验位的值4、数据存储时存储重组后的数据格式数据读取时计算每组数据(第三步的分组)的异或值若每组的异或值均为0则校验通过若计算出的值存在非0值则组合每组的异或值(高位存放最高组的值)得到的值即错误的数据的下标(数据下标从1开始且为整合后的数据)5、对错误的数据进行反转即得到正确的数据拆除校验位的值即得到原始数据