MentХм, а вот этот алгоритм вроде не сфейлился:
bit1=xor(i1,i2)
bit2=xor(i1,i3)
bit3=xor(i1,i4)
bit4=xor(i2,i3)
bit5=xor(i2,i4)
bit6=i2
bit7=i1
Ой, только я ступил, у меня там обратный xor в проверках фигурировал. Ошибся ) То есть 1, когда операнды одинаковые. Но да не суть, с нормальным тоже проверка проходится. Они симметрично работают.
Да. Ошибка обнаруживается, но опять же могу процитировать то, что я писал Урану.
HermitПо вашему алгоритму комбинация 0000 кодируется сообщением 0000000,
а комбинация 1111 кодируется сообщением 0000011.
А мы допустим мы получили комбинацию 0000010
Да, понятно, что испортили один бит и даже больше - это шестой или седьмой бит. Но как понять передавали 0000 и испортили шестой бит с 0 на 1 или 1111 и испортили седьмой бит с 1 на 0???
К твоему алгоритму это тоже применимо.
Пока самый лучший вариант предложил Уран.