
Монитор 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. Интервал между ними так мал, что все последующие итерации не изменят значений границ, а поскольку старшие цифры границ не совпадают, то алгоритм не будет выдавать цифр кода, то есть зациклится.