当我们使用纸和笔上使用我们人的思维来写出偶检验码,而不是编写程序来处理时,可以数'1'的个数来添加。
e.g. 1001001 需要传输这7位二进制数的时候
通过计算'1'的个数,可以知道第8位为'1'(从左往右,从1开始编号),也就是'10010011'。
但是当二进制数很长很长很长的时候,我们只能通过计算机的程序处理时,应该如何转换?
有两种办法
- 将所有的位进行异或运算。利用的特性是
奇数个‘1’进行异或运算时,结果依然为‘1’
,所以加上运算结果的‘1’,刚好是偶数个。 - 将所有位进行相加,结果对2进行取模运算。
以上两种办法都可以通过程序很容易实现。