55 БАЛЛОВ ПОЖАЛУЙСТА СРОЧНО!!! 2. Сложить числа в обратном и дополнительном кодах. Результат
перевести в прямой код:X=-11011; Y= -10101 3. Даны символы a, b, c, d с частотами f a =0,5; f b =0,25; f c =0,125; f d =0,125. Построить эффективный код методом Хаффмена.Ответы на вопрос
        Ответ:
сложно но попробуй разобраться так же
Пошаговое объяснение:
прямой код - кодируется только знак. Тоесть 1.11011 и 1.10101
Обратный - инверсия при отрицательном: 1.00100 и 1.01010
Дополнительный - инверсия+ единица на конце: 1.00101 и 1.01011
складываем в обратном.
1.00100
+
1.01010
=
10.01110, знаковую 1 в конец: 0.01111 возникло переполнение, делаем корр. сдвиг: 1.001111
сложение в доп коде:
1.00101
+
1.01011
=
10.10000 возникло переполнение, делаем корр. сдвиг: 1.010000
переводим обр. в прямой: инверсия: 1.110000=-110000
переводим доп в прямой: инверсия+1: 1.101111+0.000001=1.110000 = -110000
проверяем: -11011=-(16+8+0+2+1)=-27
-10101=-(16+0+4+0+1)=-21
-27-21=-48
-110000=-(32+16+0+0+0+0)=-48
-48=-48
            Конечно, я помогу вам с этими задачами.
Задача 2. Сложение чисел в обратном и дополнительном кодах:
Сначала выполним сложение чисел X и Y в обратном коде:
X = -11011 (обратный код) Y = -10101 (обратный код)
markdown  11011   (дополнительный код X)
+ 10101   (дополнительный код Y)
---------
 110000   (результат в дополнительном коде)
Теперь переведем результат (110000) в прямой код:
Результат в дополнительном коде 110000 может быть отрицательным числом. Чтобы перевести его в прямой код, сначала найдем обратный код:
scss110000 (результат в дополнительном коде)
-> 001111 (обратный код)
Теперь найдем прямой код числа, соответствующего обратному коду 001111:
scss001111 (обратный код)
-> 110000 (прямой код)
Итак, результат сложения в прямом коде равен 110000.
Задача 3. Построение эффективного кода Хаффмена:
Для построения кода Хаффмена нам нужно организовать символы по их вероятностям и построить дерево, присваивая более короткие коды более вероятным символам. Затем коды определяются путем прохождения по дереву от корня к символам.
Вероятности символов:
- f_a = 0.5
 - f_b = 0.25
 - f_c = 0.125
 - f_d = 0.125
 
- Создадим список символов с их вероятностями и отсортируем его по возрастанию вероятностей:
 
makefilef_d = 0.125 f_c = 0.125 f_b = 0.25 f_a = 0.5
- Теперь создадим дерево Хаффмена, объединяя два символа с наименьшими вероятностями и создавая новый символ с вероятностью равной сумме вероятностей:
 
markdown   f_d,f_c = 0.25
       / \
    f_d   f_c
markdown    f_b,f_a = 0.75
       / \
    f_b   f_a
- Продолжим этот процесс до построения всего дерева:
 
markdown        f_d,f_c,f_b,f_a = 1.0
             / \
         f_d,f_c   f_b,f_a
            / \      / \
         f_d   f_c f_b  f_a
- Теперь присвоим коды символам в зависимости от пути от корня к символу:
 
makefilef_d: 00
f_c: 01
f_b: 10
f_a: 11
Таким образом, построен эффективный код Хаффмена для заданных символов с их вероятностями:
- f_d: 00
 - f_c: 01
 - f_b: 10
 - f_a: 11
 
Похожие вопросы
Топ вопросов за вчера в категории Математика
Последние заданные вопросы в категории Математика
- 
			
Математика
 - 
			
Литература
 - 
			
Алгебра
 - 
			
Русский язык
 - 
			
Геометрия
 - 
			
Английский язык
 - 
			
Химия
 - 
			
Физика
 - 
			
Биология
 - 
			
Другие предметы
 - 
			
История
 - 
			
Обществознание
 - 
			
Окружающий мир
 - 
			
География
 - 
			
Українська мова
 - 
			
Информатика
 - 
			
Українська література
 - 
			
Қазақ тiлi
 - 
			
Экономика
 - 
			
Музыка
 - 
			
Право
 - 
			
Беларуская мова
 - 
			
Французский язык
 - 
			
Немецкий язык
 - 
			
МХК
 - 
			
ОБЖ
 - 
			
Психология
 - 
			
Физкультура и спорт
 - 
			
Астрономия
 - 
			
Кыргыз тили
 - 
			
Оʻzbek tili
 
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			