Меню

Главная

Статистика

 

 


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

Проделайте аналогичные выкладки для других позиционных систем счисления с переменным основанием (английские денежные единицы; уже упомянутые выше недесятичные меры длины и веса; система подсчета очков в теннисе и др.д).

А вот еще одна разновидность позиционных нумераций - уравновешенные системы счисления. В качестве примера рассмотрим так называемую "троичную уравновешенную систему счисления". Ее алфавит состоит из трех (поэтому - троичная!) элементов:
A3={1, 0, 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} легко поддается интерпретации на физическом уровне. У двоичной системы счисления, на основе которой работает так называемая "двоичная арифметика", есть и другие достоинства. Есть, однако, и недостатки. Поговорим о тех и других.

Как происходит обычное сложение в позиционной системе счисления? Рассмотрим его на примере:
56710+82410 =(7*100+6*101+5*102) +(4*100+2*101+8*102) =(7+4)*100+(6+2)*101+(5+8)*102 =1*100+(1*101+8*101)+3 *102+1*103 =139110

Приведенные выкладки иллюстрируют известное правило: как только сумма значений слагаемых в очередном разряде превышает мощность диапазона, равную основанию системы счисления (здесь: 10), происходит переполнение - и в данный разряд помещается целочисленный остаток от деления суммы на основание системы счисления (10), а целочисленное частное (естественно, 1) переходит в старший разряд. Так, в приведенном примере переполнялись разряды "единиц" и "сотен", а перенос единиц происходил в разряды, соответственно, "десятков" и "тысяч".

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

Но в 2-ной системе счисления переполнение наступает "гораздо быстрее", чем в 10-ной - ввиду маломощности диапазона возможных значений. Иначе говоря, переполнение разряда в двоичной системе счисления наступает при сложении "всего-то" двух единиц. Соответственно, и перенос единицы в левый (старший) разряд произойдет в указанном случае. А это существенно упрощает вид таблицы сложения в 2-ной нумерации:

+ 0 1
0 0 1
1 1 10

Однако, малая мощность алфавита имеет и негативную сторону, проявляющуюся в том, что представление числа заметно "удлиняется" в сравнении с другими нумерациями. Скажем, число 102410(=210) занимает 4 разряда, то же число в двоичной системе (100000000002) разместится в 11 позициях, оно же в 16-ной (40016) нумерации записывается всего лишь 3 знаками.

Назад

все про бесплатные видео ролики Feels.Ru. аудиторские курсы. продать алроса быстро