Консультация № 194708
15.02.2019, 02:47
0.00 руб.
15.02.2019, 03:35
0 6 1
Здравствуйте! У меня возникли сложности с таким вопросом:
преобразование десятичного числа D в двоичное и определить для него код Хэмминга:
D = 67.
6710 в десятичной системе счисления и хотите перевести его в двоичную.

Переведем 6710 в двоичную систему:

Целая часть числа находится делением на основание новой
Получилось:6710 = 10000112
А дальше не пойму как делать


Обсуждение

давно
Старший Модератор
31795
6196
15.02.2019, 10:53
общий
Адресаты:
Вы вопрос№191101, смотрели?
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
402783
4
15.02.2019, 11:01
общий
Адресаты:
я просто уже не понимаю когда дохожу до таблицы
давно
Старший Модератор
31795
6196
15.02.2019, 11:02
общий
Адресаты:
Также смотрите и вопрос №191102
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Старший Модератор
31795
6196
15.02.2019, 11:19
общий
Адресаты:
В этих вопросах есть картинки, поверните её на вертикально, если внимательно присмотритесь к записям в ячейках с границами, то в первой строке двоичная запись "1", вторая - "2", и так далее. т.е. на нумерацию битов накладывается заданное число.

Прикрепленные файлы:
8968c773de0ce18a7d3a4f276fdba653.jpg
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
402783
4
15.02.2019, 11:27
общий
Адресаты:
Определить значение переданного с использованием кода Хэмминга числа. При передаче кода имела место однократная ошибка:
1 0 0 1 0 1 1 1 1 0 1
вот это я не знаю
давно
Старший Модератор
312929
1973
24.02.2019, 12:11
общий
это ответ
Здравствуйте, sanik9394!

Код Хэмминга получается добавлением в исходное число дополнительных контрольных битов во все позиции с номерами, равными степени двойки (1, 2, 4, 8, 16 и т.д). Запишем наше двоичное число с добавленными контрольными битами в виде таблицы:
[table]
[row][col]И11[/col][col]И10[/col][col]И9[/col][col]К8[/col][col]И7[/col][col]И6[/col][col]И5[/col][col]К4[/col][col]И3[/col][col]К2[/col][col]К1[/col][/row]
[row][col]1[/col][col]0[/col][col]0[/col][col][/col][col]0[/col][col]0[/col][col]1[/col][col][/col][col]1[/col][col][/col][col][/col][/row]
[/table]
обозначив контрольные биты буквой К, а остальные - буквой И.

Каждому контрольному биту с номером 2[sup]n-1[/sup], n=1,2,3,... соответствует группа битов, выбираемая по следующему правилу: в неё включаются n битов, начиная с контрольного, потом n битов пропускаются, снова включаются n битов и т.д. до конца сообщения. Тогда значение контрольного бита равно сумме (по модулю 2) всех остальных битов группы:
К[sub]1[/sub]=И[sub]3[/sub]+И[sub]5[/sub]+И[sub]7[/sub]+И[sub]9[/sub]+И[sub]11[/sub]+И[sub]13[/sub]+И[sub]15[/sub]+...;
К[sub]2[/sub]=И[sub]3[/sub]+(И[sub]6[/sub]+И[sub]7[/sub])+(И[sub]10[/sub]+И[sub]11[/sub])+(И[sub]14[/sub]+И[sub]15[/sub])+...;
К[sub]4[/sub]=(И[sub]5[/sub]+И[sub]6[/sub]+И[sub]7[/sub])+(И[sub]12[/sub]+И[sub]13[/sub]+И[sub]14[/sub]+И[sub]15[/sub])+...;
К[sub]8[/sub]=(И[sub]9[/sub]+И[sub]10[/sub]+И[sub]11[/sub]+И[sub]12[/sub]+И[sub]13[/sub]+И[sub]14[/sub]+И[sub]15[/sub])+(И[sub]16[/sub]+И[sub]17[/sub]+И[sub]18[/sub]+И[sub]19[/sub]+И[sub]20[/sub]+И[sub]21[/sub]+И[sub]22[/sub]+И[sub]23[/sub])+...
и т.д (скобками выделены группы подряд идущих битов, участвующих в расчёте контрольного).

В данном случае имеем:
К[sub]1[/sub]=И[sub]3[/sub]+И[sub]5[/sub]+И[sub]7[/sub]+И[sub]9[/sub]+И[sub]11[/sub]=1+1+0+0+0+1=1;
К[sub]2[/sub]=И[sub]3[/sub]+И[sub]6[/sub]+И[sub]7[/sub]+И[sub]10[/sub]+И[sub]11[/sub]=1+0+0+0+1=0;
К[sub]4[/sub]=И[sub]5[/sub]+И[sub]6[/sub]+И[sub]7[/sub]=1+0+0=1;
К[sub]8[/sub]=И[sub]9[/sub]+И[sub]10[/sub]+И[sub]11[/sub]=0+0+1=1.
Подставляя их в таблицу, получаем:
[table]
[row][col]И11[/col][col]И10[/col][col]И9[/col][col]К8[/col][col]И7[/col][col]И6[/col][col]И5[/col][col]К4[/col][col]И3[/col][col]К2[/col][col]К1[/col][/row]
[row][col]1[/col][col]0[/col][col]0[/col][col]1[/col][col]0[/col][col]0[/col][col]1[/col][col]1[/col][col]1[/col][col]0[/col][col]1[/col][/row]
[/table]
то есть код Хэмминга для исходного числа - 10010011101.
P.S. В данном решении при построении кода Хэмминга биты нумеруются справа налево. Часто используется иной вариант - с нумерацией битов слева направо. В этом случае исходная таблица будет иметь вид:
[table]
[row][col]К1[/col][col]К2[/col][col]И3[/col][col]К4[/col][col]И5[/col][col]И6[/col][col]И7[/col][col]К8[/col][col]И9[/col][col]И10[/col][col]И11[/col][/row]
[row][col][/col][col][/col][col]1[/col][col][/col][col]0[/col][col]0[/col][col]0[/col][col][/col][col]0[/col][col]1[/col][col]1[/col][/row]
[/table]
дальше - аналогично первому варианту.
Форма ответа