海明码和亦或

亦或

异或,英文为exclusive OR,缩写成xor。异或(xor) 是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为"xor” 。
其运算法则为:
a⊕b= (¬a^b)v (a ^¬b),如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。

运算方法如下:
真⊕假=真
假⊕真=真
假⊕假=假
真⊕真=假

或者为:
True⊕False = True
False⊕True = True
False⊕False = False
True⊕True = False

海明码

海明码(也叫汉明码)具有一位纠错能力。

编码:

  确定校验码的位数x

  设数据有n位,校验码有x位。则校验码一共有2^{^{x}}种取值方式。其中需要一种取值方式表示数据正确,剩下2^{^{x}}-1种取值方式表示有一位数据出错。因为编码后的二进制串有n+x位,因此x应该满足

2^{^{x}} -1 ≥ n+x   

  使不等式成立的x的最小值就是校验码的位数。在本例中,n=7,解得x=4。

你可能感兴趣的:(计算机)