Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

2 Задание:

Задан основной код X1, построить для него дополнительный код Хемминга. Полученный код Х2. Рассчитать дополнительный код для полученного сообщения и вычислить номер ошибочного разряда:

7  Вариант: Х1= Х2=

Основной код Х1=

Вставим контрольные биты в позиции с номерами, равными степеням двойки: 1,2,4,8:

001001001101

Таким образом, длина всего сообщения увеличилась на 5 бит. До вычисления самих контрольных бит, присвоим им значение «0».

Вычислим контрольные биты. Значение каждого контрольного бита зависит от значений информационных бит, но не от всех, а только от тех, которые этот контрольных бит контролирует. Для того, чтобы понять, за какие биты отвечает каждых контрольный бит необходимо понять очень простую закономерность: контрольный бит с номером N контролирует все последующие N бит через каждые N бит, начиная с позиции N. Берём каждый контрольный бит и смотрим сколько среди контролируемых им битов единиц, получаем некоторое целое число и, если оно чётное, то ставим ноль, в противном случае ставим единицу.

Получим:

011001011101

Проделаем то же самое с полученным кодом:

Х2=

Вставим контрольные биты в позиции с номерами, равными степеням двойки: 1,2,4,8:

001001001111

Вычислим контрольные биты.

Получим:

101001001111

Сравним дополнительные коды:

011001011101

101001001111

Отличия в разрядах: 1, 2,8. Сложим: 1+2+8=11. Значит, ошибка в 11м разряде. Инвертируем его и отбросим дополнительные коды:

101001001111=>101001001101=>1010101. Получили верный исходный код.