|
Продолжим теперь наше обсуждение позиционных систем
счисления и рассмотрим особую разновидность позиционных
нумераций с переменным основанием (ранее приводившиеся
рассуждения относились к нумерациям с фиксированными основаниями -
2, 8, 10 и прочими).
С ними нам приходится встречаться, но, в основном,
не при вычислениях. Скажем, меры длины, меры весов, в которых
используются не-десятичные коэффициенты при переходе от
"младших разрядов" измерения к "старшим" (например, футы-ярды-мили).
Пример же с измерением времени, вообще,
универсален: секунды-минуты-часы. Скажем, сейчас у меня 17:47:00.
Ничто не мешает заменить эту форму записи на более компактную
(174700), не забывая при том, что диапазон значений младшего
(нулевого) разряда 0..9, следующего левее (первого) - 0..5, далее,
соответственно, - 0..9, 0..5, а затем и совсем "странный" диапазон
0..24 (иногда заменяемый на 0..12). Впрочем, нам эти странности
вовсе не мешают, мы к ним привыкли :-).
Имея в виду наши прежние рассуждения относительно
алфавитов и учитывая соответствующие мощности диапазонов (справа -
налево), получаем суммарную мощность диапазона: 10*6*10*6*24 = 86400
(секунд в сутках).
| Упражнение #1. |
|
Проделайте аналогичные выкладки для других
позиционных систем счисления с переменным основанием
(английские денежные единицы; уже упомянутые выше недесятичные
меры длины и веса; система подсчета очков в теннисе и др.д).
|
А вот еще одна разновидность позиционных нумераций
- уравновешенные системы счисления. В качестве примера рассмотрим
так называемую "троичную уравновешенную систему счисления". Ее
алфавит состоит из трех (поэтому - троичная!) элементов:
где курсивный полужирный
шрифт использован для обозначения "минус 1". Присутствие такой
"единицы" в соответствующем разряде числа означает, что этот разряд
учитывается со знаком "минус".
| Пример #1. |
|
11013=((-1)*30+0
*31+(-1)*32+1*33)10
= 1710 |
Уравновешенная система счисления не является лишь
"математическим фокусом". С ее помощью удобно представлять числа,
соответствующие, в частности, использованию двухчашечных весов, на
которых гири, для уравновешивания чашек, учитываются со знаками как
"+", так и "-".
К существенному достоинству этой нумерации следует
отнести тот факт, что при вычислениях на ее основе отпадает
необходимость в операции "вычитания". Действительно, изменение знака
числа на противоположный осуществляется простой заменой всех 1 на 1 и наоборот. Скажем, число -1710 запишется как 11013.
| Упражнение #2. |
| a) |
Предположим, в нашем распоряжении гири в 1,
3, 9 граммов. Составьте таблицу размещения гирь на чашах
весов, в соответствии с которой будет видно, как можно
взвесить грузы от 0 до 13 граммов. Часть таблицы выглядит так:
| в нумерации с алфавитом A10 |
в системе счисления сA3 |
| 0 |
0 |
| 1 |
1 |
| 2 |
11 |
| 3 |
10 |
| 4 |
11 |
| ... |
... |
| 13 |
111 | |
| b) |
Постройте аналогичную таблицу для A5 в диапазоне 0..31.
|
| c) |
Попробуйте доказать, что использование
уравновешенной системы счисления (например, троичной или
пятеричной) позволяет представить любое натуральное число,
притом, - единственным способом. (Иначе говоря: любому
натуральному числу можно сопоставить один и только один способ
его записи в алфавите A3 или A5).
|
Разумеется, сферы применения подобных нумераций не
столь широки, как у привычных позиционных систем счисления. Но и
среди позиционных систем есть "популярные" и "остальные".
Естественно, наиболее распространенной является
десятичная нумерация. Но, как мы уже знаем, для компьютерных
применений более подходящей является двоичная. И дело не только в
том, что алфавит {0,1} легко поддается интерпретации на физическом
уровне. У двоичной системы счисления, на основе которой работает так
называемая "двоичная арифметика", есть и другие достоинства. Есть,
однако, и недостатки. Поговорим о тех и других.
Как происходит обычное сложение в позиционной
системе счисления? Рассмотрим его на примере:
Приведенные выкладки иллюстрируют известное
правило: как только сумма значений слагаемых в очередном разряде
превышает мощность диапазона, равную основанию системы счисления
(здесь: 10), происходит переполнение - и в данный разряд помещается
целочисленный остаток от деления суммы на основание системы
счисления (10), а целочисленное частное (естественно, 1) переходит в
старший разряд. Так, в приведенном примере переполнялись
разряды "единиц" и "сотен", а перенос единиц происходил в разряды,
соответственно, "десятков" и "тысяч".
Очевидно, для двоичной системы счисления алгоритм
не меняется, поскольку он связан не с основанием нумерации, а с
принципом позиционности.
Но в 2-ной системе счисления переполнение наступает
"гораздо быстрее", чем в 10-ной - ввиду маломощности диапазона
возможных значений. Иначе говоря, переполнение разряда в двоичной
системе счисления наступает при сложении "всего-то" двух единиц.
Соответственно, и перенос единицы в левый (старший) разряд
произойдет в указанном случае. А это существенно упрощает вид
таблицы сложения в 2-ной нумерации:
Однако, малая мощность алфавита имеет и негативную
сторону, проявляющуюся в том, что представление числа заметно
"удлиняется" в сравнении с другими нумерациями. Скажем, число 102410(=210) занимает 4
разряда, то же число в двоичной системе (100000000002) разместится в 11
позициях, оно же в 16-ной (40016)
нумерации записывается всего лишь 3 знаками.
Назад
|