n位数,则其海明码的位数x满足:2的x次方>=n+x+1;
得到位数x;
将x个数全部插入所给出的数中。
列如:位置分别为2的0次方,2的1次方,到2的x次方;
后将得出的校验码列出。标入下标,12356置x+n-1号的末尾。
此时可以开始验证。随机的下标位数验证:下标数的下标列位置=海明码加入的数的下标之和,则取出所用到的海明码的下标,这些下标则为这个下标数的验证。
列题:若有4位D3D2D1D0;
问:海明码有多少位?
解:由公式可以推出:2的3次方满足>=4+3+1;所以为三位海明码。
问:D3的海明码为多少?
列出海明码总码:D3 D2 D1 P3 D0 P2 P1
列出下标:7 6 5 4 3 2 1
D3的下标为7;7=4+2+1;
4对应的海明码为P3,2的为P2,1的为P1;
所以的出D3的海明校验码为P3P2P1;
以上为个人观点。
标签:下标,运算,明码,列出,位数,简单,次方,D3 From: https://www.cnblogs.com/Jiu-Liu/p/17385747.html