В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Рофлер
Рофлер
02.04.2023 05:58 •  Информатика

Выполните кодирование сообщения методом Шеннона Фано.
Объем алфавита источника сообщений mи = 5 символов. Вероятности появления символов равны p(1)=0,35, p(2)=0,25,p3=0,25,p4=0,1,p5=0,05
Закодировать сообщение методом Шеннона Фано.

Показать ответ
Ответ:
Иванчик1111
Иванчик1111
31.12.2021 00:26

1) для перевода из 10-й в двоичную 2-ую систему счисления нужно число в десятичной системе разделить на 2 и записать остаток , затем тоже самое сделать с целой часть и повторять пока не останется только 1 или 0. конечное числом будут остатки записанные в обратном порядке.

1450/ 2 = 725 остаток 0

725 / 2 = 362 остаток 1

362 / 2 = 181 остаток 0

181 / 2 = 90 остаток 1

90 / 2 = 45 остаток 0

45/ 2 = 22 остаток1

22/2 = 11 остаток 0

11/ 2 = 5 остаток 1

5 / 2 = 2 остаток 1

2 / 2 = 1 остаток 0

1 / 2 = 0 остаток 1

 

результат: 10110101010

 

в 2-х байтовой ячеке всего 16 разрядов, а в наше числе 11 , значит спереди нужно дописать 5 нулей и получим нужное представление

0000010110101010

 

2)

для перевода в 16 систему нужно сначало перевести в 2-ю систему счисления, потом записать обратный код, почитать дополнительный и тогда перевести в 16-ю

вот 1450 в 2-й системе

0000010110101010

обратный код это код в котором все 0 заменены на 1, а 1 на 0

1111101001010101

чтобы получит дополнительный код нужно прибавить 1

1111101001010110

теперь смотрим по 4 разряда и заменяем 1 символом в 16 системе счисления

1111 = f

1010 = a

0101 = 5

0110 = 6

искомое число fa56

3)

  для перевода из 16 в 2 систему счисления нужно каждую цифру числа умножит на 16 в степень равным номеру цифры(справа на лево, отсчет с 0)

f67d(в 16 системе счисления) = 15 * 16 ^3 + 6 * 16 ^2 + 7 * 16^1 + 13 * 16 ^0 = 61440 + 1536 + 112 + 13 = 63101(в 10 системе счисления)

0,0(0 оценок)
Ответ:
ROLFRUTIN
ROLFRUTIN
27.05.2023 09:43
Pascalabc.net var   a: array[1..10000] of integer;   kz,maxp,n,i,j: integer;   begin     i: =0;   maxp: =integer.minvalue;   writeln ('готов к приему чисел');   repeat     i: =i+1;     readln (a[i]);     until a[i]=0;   n: =i-1;   readln (kz);   for i: =1 to n-1 do      for j: =2 to n do        if maxp< (a[i]*a[j]) then maxp: =(a[i]*a[j]);     writeln ('получено ',n,' чисел');   writeln;   writeln ('полученное контрольное значение: ',kz);   writeln;   writeln ('вычисленное контрольное значение: ',maxp);   writeln;   if kz=maxp      then writeln ('контроль пройден')     else writeln ('контроль не пройден'); end. результаты: 1) готов к приему чисел 1 2 3 4 5 0 20 получено 5 чисел полученное контрольное значение: 20 вычисленное контрольное значение: 20 контроль пройден 2) готов к приему чисел 1 2 3 4 5 6 0 20 получено 6 чисел полученное контрольное значение: 20 вычисленное контрольное значение: 30 контроль не пройден
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота