计算机组成中的主存存储时,在数据读取的时候,为防止出现故障,故会先去检验一下数据的正确性。其中,Hamming偶校验就是其中的一种,这里不去详细的讲一些概念性问题,感兴趣的可以去参阅计算机组成相关书籍。
每个数据由两部分组成,第一部分就是原始数据,第二部分就是校验位。
这里 先来讲一讲Hamming偶校验的具体算法:
Hamming(data,datalLength)
// 这里的data 就是需取的原始数据,不含校验位,一个int数组
// dataLength是指用户给出数据的数据位长
//judgeLength 是指校验位长
//judge 是校验位的数据,也是一个int数组
// allData 是指数据数组含 data 和 judge
For i=0 to allDatalength
If(log n / log2 == i) continue
allDataLength[i]=data[i]
For i=0 to dataLength
charForData= data[i]的二进制表示
forj = 0 to charForData
judge[j] = judge[j]+charForData[j];
//到这里校验位数组里的数据都初始化了