Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Консультации по информатике


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 476
∙ повысить рейтинг »
Асмик Гаряка
Статус: Советник
Рейтинг: 68
∙ повысить рейтинг »
Виктор
Статус: 2-й класс
Рейтинг: 64
∙ повысить рейтинг »

∙ Информатика

Номер выпуска:305
Дата выхода:13.05.2016, 13:21
Администратор рассылки:Андреенков Владимир (Профессор)
Подписчиков / экспертов:15 / 16
Вопросов / ответов:5 / 6

Консультация # 189324: Здравствуйте! Прошу помощи в следующем вопросе: Определить значение переданного с использованием кода Хэмминга числа. При передаче кода имела место однократная ошибка: 1 0 0 1 1 0 1 1 0 1 0 ...
Консультация # 189325: Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: Произвести преобразование кода Грея ZG в двоичное число: ZG = 10100101100...
Консультация # 189326: Уважаемые эксперты! Пожалуйста, ответьте на вопрос: Произвести преобразование десятичного числа Z в двоичное и определить для него код Грея: Z = 5610...
Консультация # 189327: Здравствуйте! Прошу помощи в следующем вопросе: Произвести преобразование указанных ниже чисел из одной системы счисления в другую (основания систем счисления указаны в подстрочном индексе): ∙ 2127 = Х5, Х5 ? ∙ 3F816 = Z2, Z2 ? ∙ 11001110012 = Y...
Консультация # 189328: Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: Синтезировать коды Шеннона-Фено и Хаффмена для указанной ниже группы символов: Символы Вероятности Z1 0.03 Z2 0.13 Z3 0.20 Z4 0.17 Z5 0.21 Z6 ...

Консультация # 189324:

Здравствуйте! Прошу помощи в следующем вопросе:

Определить значение переданного с использованием кода Хэмминга числа. При передаче кода имела место однократная ошибка: 1 0 0 1 1 0 1 1 0 1 0

Дата отправки: 08.05.2016, 12:52
Вопрос задал: Чванов Сергей (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Зенченко Константин Николаевич (Модератор):

Здравствуйте, Чванов Сергей!

Чтобы не косатся теории и долгого описания, что, где и почему, строим такую таблицу:

0102030405060708091011bS
10011011010--
1001101101031
1001101101020
1001101101031
1001101101020


Первая строка номер бита, красным вылелены контрольные биты. b и S - служебные столбцы(количество бит равных 1 в контролируемых областях, которые выделены зеленым и поле синдромов, т.е. четное или нет количество бит).
Вторая строка иследуемое число. Остальнные строки соответствуют контрольным битам(1,2,4 и 8).
После заполненния таблицы, видно, что в столбце S, есть ненулевые поля, переводим полученное двоичное число в дестичную систему, получаем 5, т.е. в в пятом бите - ошибка, исправляем:

0102030405060708091011bS
10010011010--
1001001101020
1001001101020
1001001101020
1001001101020


Вот и всё.
Удачи!

Консультировал: Зенченко Константин Николаевич (Модератор)
Дата отправки: 10.05.2016, 11:05

4
нет комментария
-----
Дата оценки: 11.05.2016, 16:46

Рейтинг ответа:

НЕ одобряю +2 одобряю!

Консультация # 189325:

Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:

Произвести преобразование кода Грея ZG в двоичное число: ZG = 10100101100

Дата отправки: 08.05.2016, 12:53
Вопрос задал: Чванов Сергей (Посетитель)
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Лысков Игорь Витальевич (Старший модератор):

Здравствуйте, Чванов Сергей!
Декодирование кода Грея производится по следующему алгоритму:
Производится суммирование по модулю 2 исходного кода и им же, последовательно сдвинутым на 1 бит вправо
до тех пор, пока код не обнулится.
Имеем:
10100101100
01010010110
00101001011
00010100101
00001010010
00000101001
00000010100
00000001010
00000000101
00000000010
00000000001
--------------
11000110111

Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 08.05.2016, 15:02

5
огромнейшее спасибо
-----
Дата оценки: 08.05.2016, 15:21

Рейтинг ответа:

НЕ одобряю +1 одобряю!


Консультирует Виктор (2-й класс):

Здравствуйте, Чванов Сергей!
Для перевода числа из шестнадцатеричной системы счисления в двоичную необходимо каждую цифру этого числа записать четырехразрядным двоичным числом (тетрадой), незначащие нули слева для целых чисел и справа для дробей не записываются.
пример:
5 5 A 0101 0101 1010

Приложение:

Консультировал: Виктор (2-й класс)
Дата отправки: 08.05.2016, 23:39
Прикреплённый файл: посмотреть » [698.4 кб]
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 189326:

Уважаемые эксперты! Пожалуйста, ответьте на вопрос:

Произвести преобразование десятичного числа Z в двоичное и определить для него код Грея: Z = 5610

Дата отправки: 08.05.2016, 12:53
Вопрос задал: Чванов Сергей (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Лысков Игорь Витальевич (Старший модератор):

Здравствуйте, Чванов Сергей!
Преобразование десятичного числа в двоичное делается делением числа на 2 и записью остатков в обратном порядке:
5610 = 2805*2 + 0
2805 = 1402*2 + 1
1402 = 701*2 + 0
701 = 350*2 + 1
и т.д. В итоге получим:
5610 = 10101111010102

Код Грея из числа Z получается, если применить формулу Z xor (Z shr 1),
т.е. если применить исключающее или между числом и с тем же числом, сдвинутым вправо на один бит
(с вдвинутым нулевым старшим битом)
Получим:
1010111101010
xor
0101011110101
=
1111100011111

Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 08.05.2016, 14:39

5
огромное спасибо
-----
Дата оценки: 08.05.2016, 15:20

Рейтинг ответа:

НЕ одобряю +1 одобряю!

Консультация # 189327:

Здравствуйте! Прошу помощи в следующем вопросе:

Произвести преобразование указанных ниже чисел из одной системы счисления в другую (основания систем счисления указаны в подстрочном индексе):

∙ 2127 = Х5, Х5 ?
∙ 3F816 = Z2, Z2 ?
∙ 11001110012 = Y16, Y16 ?
∙ 11001110012= W8, W8 ?
∙ 731556748 = V16, V16 ?

Дата отправки: 08.05.2016, 12:54
Вопрос задал: Чванов Сергей (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Лысков Игорь Витальевич (Старший модератор):

Здравствуйте, Чванов Сергей!
1) Преобразование 2127 в Х5 легче всего провести через десятичную систему счисления.
2127 = 2*72 + 1*71 + 2 = 10710
Далее, делим 107 на 5, и записываем остатки в обратном порядке. Получим:
107 = 21*5 + 2
21 = 4*5 + 1
4
2127 = 4125
2) Преобразование из 16-ричной с.с. в двоичную весьма простое. Каждая 16-ричная цифра вмещает в себя 4 двоичных:
3F81616 = 001111111000000101102
3) из 2-ричной в 16-ричную, обратно, объединяем по 4 бита, начиная с младших:
11001110012 = 33916
4) из 2-ричной в 8-ричную, объединяем по 3 бита, начиная с младших:
11001110012 = 14718
5) из 8-ричной в 16-ричную проще всего через 2-ную:
731556748 = 1110110011011011101002 = 1D9B7416

Консультировал: Лысков Игорь Витальевич (Старший модератор)
Дата отправки: 08.05.2016, 15:22

5
искренне благодарен
-----
Дата оценки: 08.05.2016, 15:23

Рейтинг ответа:

НЕ одобряю +1 одобряю!

Консультация # 189328:

Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:

Синтезировать коды Шеннона-Фено и Хаффмена для указанной ниже группы символов:

Символы Вероятности
Z1 0.03
Z2 0.13
Z3 0.20
Z4 0.17
Z5 0.21
Z6 0.07
Z7 0.08
Z8 0.11

Дата отправки: 08.05.2016, 12:56
Вопрос задал: Чванов Сергей (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Коцюрбенко Алексей aka Жерар (Мастер-Эксперт):

Здравствуйте, Чванов Сергей!

Алгоритм Шеннона-Фано работает следующим образом:

1. Упорядочиваем символы по невозрастанию вероятностей.
2. Делим последовательность символов на две группы с примерно равной суммой вероятностей. Для первой группы добавляем справа в код 1, для второй - 0.
3. Повторяем предыдущий шаг для каждой из групп, пока не получим группу из единственного символа.

В данном случае это будет выглядеть так:

СимволыВероятности
Z50.21
Z30.20
Z40.17
Z20.13
Z80.11
Z70.08
Z60.07
Z10.03

Это исходная таблица. Разбиваем её на две группы так, чтобы сумма вероятностей в каждой была по возможности бли зка к 0.5 и присваиваем первой код 1, а второй - код 0:
СимволыВероятностиКод
Z5,Z3,Z40.21+0.20+0.17=0.581
Z2,Z8,Z7,Z6,Z10.13+0.11+0.08+0.07+0.03=0.420

Теперь разбиваем первую группу на две с суммой вероятностей близкой к 0.58/2=0.29 и присваиваем им коды 11 и 10, а вторую - на две с суммой вероятностей близкой к 0.42/2=0.21 и присваиваем им коды 01 и 00:
СимволыВероятностиКод
Z50.2111
Z3,Z40.20+0.17=0.3710
Z2,Z80.13+0.11=0.2401
Z7,Z6,Z10.08+0.07+0.03=0.1800

Первая из четырё х получившихся групп содержит только один символ и дальше не разбивается. Остальные разбиваются надвое аналогичным образом:
СимволыВероятностиКод
Z50.2111
Z30.20101
Z40.17100
Z20.13011
Z80.11010
Z70.08001
Z6,Z10.07+0.03=0.1000

Теперь все группы содержат по одному символу, только последняя - два. Её разбиваем надвое:
СимволыВероятностиКод
Z50.2111
Z30.20101
Z40.17100
Z20.13011
Z80.11010
Z70.08001
Z60.070001
Z10.030000

и на этом построение кода Шеннона-Фано закончено.

Алгоритм Хаффмана работает следующим образом:

1. Упорядочиваем символы по невозрастанию вероятностей.
2. Два символа с наименьшими вероятностями заменяем группой с суммарной вероятностью. Для первого символа группы добавляем слева в код 0, для второго - 1, для остальных символов не добавляем ничего.
3. Повторяем, пока не получим группу, объединяющую все символы.

В данном случае это будет выглядеть так:

СимволыВероятности
Z50.21
Z30.20
Z40.17
Z20.13
Z80.11
Z70.08
Z60.07
Z10.03

Объединяем два последних символа (Z6 и Z1) в одну группу и присваиваем им коды 0 и 1. Остальным символам коды не присваиваем:
СимволыВероятностиКоды
Z50.21
Z30.20
Z40.17
Z20.13
Z80.11
Z70.08
Z6,Z10.07+0.03=0.10,1

Упорядочиваем получившуюся таблицу по убыванию вероятностей:
< td>
СимволыВероятностиКоды
Z50.21
Z30.20
Z40.17
Z20.13
Z80.11
Z6,Z10.10,1
Z70.08


и объединяем символы Z6,Z1 и Z7, присваивая новой группе коды 00,01 и 1 (остальные символы по-прежнему не имеют кодов):
СимволыВероятностиКоды
Z50.21
Z30.20
Z40.17
Z20.13
Z80.11
Z6,Z1,Z7,0.1+0.08=0.1800,01,1

Упорядочиваем получившуюся таблицу по убыванию вероятностей:
< td>Коды
СимволыВероятности
Z50.21
Z30.20
Z6,Z1,Z70.1800,01,1
Z40.17
Z20.13
Z80.11

и объединяем два последних символа (Z2 и Z8) в одну группу, присвоив им коды 0 и 1:
СимволыВероятностиКоды
Z50.21
Z30.20
Z6,Z1,Z70.1800,01,1
Z40.17
Z2,Z80.13+0.11=0.240,1

Упорядочиваем получившуюся таблицу по убыванию вероятностей:
< td>Z2,Z8
СимволыВероятностиКоды
0.240,1
Z50.21
Z30.20
Z6,Z1,Z70.1800,01,1
Z40.17

и объединяем символы Z6,Z1,Z7 и Z4, присваивая новой группе коды 000,001,01 и 1:
СимволыВероятностиКоды
Z2,Z80.240,1
Z50.21
Z30.20
Z6,Z1,Z7,Z40.18+0.17=0.35000,001,01,1

Упорядочиваем получившуюся таблицу по убыванию вероятностей:
СимволыВероятностиКоды
Z6,Z1,Z7,Z40.35000,001,01,1
Z2,Z80.240, 1
Z50.21
Z30.20

и объединяем два последних символа (Z5 и Z3) в одну группу, присвоив им коды 0 и 1:
СимволыВероятностиКоды
Z6,Z1,Z7,Z40.35000,001,01,1
Z2,Z80.240,1
Z5,Z30.21+0.20=0.410,1

Упорядочиваем получившуюся таблицу по убыванию вероятностей:
СимволыВероятностиКоды
Z5,Z30.410,1
Z6,Z1,Z7,Z40.35000,001,01,1
Z2,Z80.240,1

и объединяем символы Z6,Z1,Z7,Z4 и Z2,Z8, присваивая новой группе коды 000 0,0001,001,01 и 10,11:
СимволыВероятностиКоды
Z5,Z30.410,1
Z6,Z1,Z7,Z4,Z2,Z80.35+0.24=0.590000,0001,001,01,10,11

Упорядочиваем получившуюся таблицу по убыванию вероятностей:
СимволыВероятностиКоды
Z6,Z1,Z7,Z4,Z2,Z80.590000,0001,001,01,10,11
Z5,Z30.410,1

Поскольку осталось только две группы символов, добавляем слева к кодам первой 0, а к кодам второй - 1 и снова разделяем группы на отдельные символы:
< /tr>
СимволыКоды
Z600000
Z100001
Z70001
Z4001
Z2010
Z8011
Z510
Z311

На этом построение кода Хаффмана закончено.

Консультировал: Коцюрбенко Алексей aka Жерар (Мастер-Эксперт)
Дата отправки: 08.05.2016, 15:10

5
огромное спасибо!!!
-----
Дата оценки: 08.05.2016, 15:17

Рейтинг ответа:

НЕ одобряю +1 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное