Смекни!
smekni.com

Методические указания для выполнения курсовой работы по информатике для студентов специальностей 220100 Вычислительные машины, комплексы, системы и сети (стр. 7 из 10)

ni – число двоичных разрядов в коде i – го символа,

N – число символов в исходном алфавите А,

- для задания 7 (см. табл. 12):

lср = 0,2*2+0,15*3+0,1*3*2+0,05*4*3+0,05*5*6=3,55 бита , (26)

- для задания 8 (см. табл. 13 и 14):

lср = 0,2*2+0,15*3+0,1*3+0,1*4+0,05*4*5+0,05*5*4=3,55 бита, (27)

3) для определения общей эффективности кодов применим статистическую меру измерения информации, содержащейся в одном символе исходного алфавита А: это значение определит lпр предельное количество двоичных разрядов, достаточное для кодирования символов исходного алфавита. Для расчета используем формулу:

. (28)

Тогда получим (см. частоты в табл. 11):

lпр = -(2*(0,1* log20,1) + 0,2* log20,2 + 0,15*log20,15 + 9*(0,05*log20,05)) = 3,48418 бита.

(29)

Таким образом, все построенные коды являются избыточными. Однако минимальной избыточностью обладают эффективные коды: они минимально отличаются от предельного значения числа двоичных разрядов.


Часть 3. Формы представления чисел

Задание 11. Сложение в обратных кодах

Выполнить сложение в обратном коде двух отрицательных чисел, сформированных из пятиразрядного номера зачетной книжки по правилу:

· целая часть первого числа образуется из первых трех разрядов, дробная часть – из оставшихся разрядов;

· целая часть второго числа совпадает с дробной частью первого числа, а его дробная часть совпадает с целой частью первого числа.

Например:

а) номер зачетной книжки равен 01234;

б) первое число равно –12,34; (30)

в) второе число равно –34,12.

Разрядная сетка имеет структуру 6х10, где 6 – число разрядов порядка, 10 – число разрядов мантиссы. При переводе дробной части слагаемых ориентироваться на необходимость заполнения разрядной сетки мантиссы.

Результат сложения перевести в десятичную систему счисления и сравнить с тем, что должно было бы получиться.

Указания по выполнению задания 11

1) перевод слагаемых в двоичную систему счисления:

· перевод целой части выполним на примере числа 34 последовательным делением делимого на 2:

Таблица 21

Номер шага

Делимое

Целая часть частного

Остаток

1
34 17 0
2
17 8 1
3
8 4 0
4
4 2 0
5 2 1 0

Получаем:

34 = 1000102. (31)

· перевод дробной части выполним на примере числа 0,12 последовательным умножением множимого на 2. При этом перевод заканчивается, когда сумма двоичных разрядов целой части и дробной будет равна 9 (т.е. количеству разрядов для мантиссы минус 1 разряд на знак), или число разрядов дробной части будет равно 3 (по тем же соображениям):

Таблица 22

Номер шага

Множимое

Целая часть произведения

Дробная часть произведения

1
0,12 0 24
2
0,24 0 48
3 0,48 0 96

Поскольку число двоичных разрядов (см. целые части произведения в табл. 22) равно 3, процедура перевода дробной части заканчивается. Таким образом:

0,12 = 0,0002. (32)

Перевод второго слагаемого дает:

12,34 = 1100,010102 (33)

2) нормализация двоичных чисел и размещение их в разрядных сетках:

нормализация

-100010,000 Þ -0,100010000Е+110 (34)

-1100,01010 Þ -0,110001010Е+100 (35)

размещение в разрядных сетках

порядок мантисса
-34,12

0

0

0

1

1

0

1

1

0

0

0

1

0

0

0

0

-12,34

0

0

0

1

0

0

1

1

1

0

0

0

1

0

1

0

знаковые разряды

3) определение большего порядка путем вычитания из одного порядка другого и анализа разности: 110 – 100. Поскольку в решении задачи участвуют отрицательные числа, выполним перевод вычитаемого в обратный код и произведем сложение порядков по правилам сложения чисел в обратном коде:


Прямые коды слагаемых 0 0 0 1 1 0
1 0 0 1 0 0
Обратные коды слагаемых

0

0

0

1

1

0

1

1

1

0

1

1

Сумма

0

0

0

0

1

0

Поскольку сумма положительна, большим является первый порядок (у слагаемого –34,12), а потому на следующем шаге работа ведется со вторым слагаемым –12,34;

4) выравнивание порядков и сдвиг мантиссы для слагаемого с меньшим порядком:

выравнивание порядков

Прямые коды слагаемых

0

0

0

1

0

0

0

0

0

0

1

0

Сумма (второй порядок)

0

0

0

1

1

0

сдвиг мантиссы

1

1

1

0

0

0

1

0

1

0

1 0 0 1 1 0 0 0 1 0
Таким образом, второе слагаемое (с меньшим порядком) приобретает вид:
-12,34 0 0 0 1 1 0 1 0 0 1 1 0 0 0 1 0

5) сложение мантисс. Поскольку обе мантиссы отрицательны, сложение выполняется в обратных кодах:

Прямые коды слагаемых 1 1 0 0 0 1 0 0 0 0
1 0 0 1 1 0 0 0 1 0
Обратные коды слагаемых 1 0 1 1 1 0 1 1 1 1
1 1 1 0 0 1 1 1 0 1

Сумма

1 0 1 0 0 0 1 1 0 1

Поскольку результат отрицателен, он представлен в обратном коде. Выполняется перевод в прямой код. Получаем:

0 0 0 1 1 0 1 1 0 1 1 1 0 0 1 0

6) перевод результата в десятичную систему счисления:

-0,101110010Е+6= -101110,01= -(1*25+1*23+1*22+1*21+1*2-2) =

-(32+8+4+2+0,25) = -46,25. (43)

Часть 4. Кодирование алгоритмов