Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Арифмитическое кодирование.rtf
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
121.43 Кб
Скачать

Монитор 1.94

ВерхняяГраница

НижняяГраница

Интервал

Текущий код сообщения

Начальное состояние

99999

00000

100000

Кодируем 'В' (0.2-0.3)

29999

20000

Выдвигаем 2

99999

00000

100000

.2

Кодируем 'I' (0.5-0.6)

59999

50000

.2

Выдвигаем 5

99999

00000

100000

.25

Кодируем 'L' (0.6-0.8)

79999

60000

20000

.25

Кодируем 'L' (0.6-0.8)

75999

72000

.25

Выдвигаем 7

59999

20000

40000

.257

Кодируем ' ' (0.0-0.1)

23999

20000

.257

Выдвигаем 2

39999

00000

40000

.2572

Кодируем 'G' (0.4-0.5)

19999

16000

.2572

Выдвигаем 1

99999

60000

40000

.25721

Кодируем 'А' (0.1-0.2)

67999

64000

.25721

Выдвигаем 6

79999

40000

40000

.257216

Кодируем 'Т' (0.9-1.0)

79999

76000

.257216

Выдвигаем 7

99999

60000

40000

.2572167

Кодируем 'Е' (0.3-0.4)

75999

72000

.2572167

Выдвигаем 7

59999

20000

40000

.25721677

Кодируем 'S' (0.8-0.9)

55999

52000

.25721677

Выдвигаем 5

59999

20000

40000

.257216775

Выдвигаем 2

.2572167752

Выдвигаем 0

.25721677520

ритма верхняя и нижняя границы становятся все бли­же и ближе друг к другу, и при совпадении старшей цифры в регистрах она “выдвигается” в код сообще­ния.

Содержимое регистров при обработке алгоритмом сообщения “BILL GATES” приведено в табл. 5.

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

О точности вычислений

В процессе работы алгоритма может возникнуть си­туация, когда, например, верхняя граница станет равна 70000, а нижняя — 69999. Интервал между ни­ми так мал, что все последующие итерации не изме­нят значений границ, а поскольку старшие цифры границ не совпадают, то алгоритм не будет выдавать цифр кода, то есть зациклится.