Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СОДЕРЖАНИЕ 3 (2).doc
Скачиваний:
40
Добавлен:
31.08.2019
Размер:
5.65 Mб
Скачать
  1. Позиционные системы счисления

Системой счисления называют язык, предназначенный для описания количества.

Цепочки символов

+28 и XXVIII

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

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

В современных ЭВМ наиболее широко используются позиционные системы счисления. Среди непозиционных систем счисления для применения в ЭВМ наибольший интерес представляют системы счисления в остаточных классах [1], [2] имеющие целый ряд преимуществ перед позиционными системами, но в этой книге они не рассматриваются.

Позиционные системы счисления3 задаются их алфавитом

и основанием . Символы (значки) из подмножества называют цифрами. Символы (+) плюс и (–) минус алфавита применяют для определения знака числа, а (.) точку или (,) запятую используют как разделитель целой и дробной части числа. В Европейских странах, кроме Великобритании, применяют запятую, а в англоязычных странах и в вычислительной технике точку.

Каждому символу (цифре) приводят в соответствие некоторое количество. Символ является кодом (обозначением) этого количества и имеет соответствующий количественный эквивалент. Например, символ или цифра 7 десятичной системы счисления кодирует известное каждому количество или, это то же самое, число.

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

Цепочку символов конечной длины называют словом. В позиционной системе счисления слово кодирует число. Код числа цепочка символов алфавита A, например вида

где – цифра числа, размещенная в позиции ,

причем ,

Примером слова в традиционной десятичной системе счисления с основанием и алфавитом может служить цепочка символов +234.061 являющаяся кодом числа (количества). Для краткости слово код обычно опускают, и запись +234.061 называют числом, подразумевая определенную позиционную систему счисления, в которой это число записано. Это же слово (+234.061) в другой позиционной системе счисления, например в восьмеричной, кодирует совсем другое число.

Каждая цифра в слове размещена в ее позиции, откуда и происходит название рассматриваемого класса систем счисления. Каждая позиция имеет порядковый номер (индекс) . В слове +234.061 позиция цифры 4 имеет индекс ; индекс позиции цифры 0 , а позиции цифры 3 . Значение , а .

Позицию цифры в слове называют разрядом. Разряд имеет вес. Вес позиции (разряда) равен . Вес позиции с всегда равен единице, так как . В слове +234.061 при вес позиции с цифрой 2 , а вес позиции с цифрой 1 .

Количественный эквивалент цифры в слове зависит от занимаемой ею позиции, и численно равен произведению количественного эквивалента собственно цифры на вес разряда, в котором она размещена. В числе +234.061 цифра 3 имеет количественный эквивалент .

Для определения количественного эквивалента цифры в числе необходимо знать не только количественные эквиваленты основания системы счисления и цифр ее алфавита, но и значение индекса позиции хотя бы одной из цифр числа. С этой целью изобретатели десятичной системы счисления предложили отмечать разделителем (,) или (.) позицию с индексом , а при отсутствии разделителя считать, что . Отсутствие разделителя означает, что число является целым. Конструктор новой системы счисления может вносить иные предложения.

Например, если слово +234.061 записано в системе счисления с основанием и алфавитом цифр , то количественный эквивалент цифры 6 в слове +234.061 равен

.

Знак числа (+) или (–) принято писать слева в позиции . Такое число называют числом со знаком. Если в позиции знак отсутствует , то число называют числом без знака и его количественный эквивалент считают положительным.

Слово, так же как и цифра, является кодом некоторого количества и, следовательно, имеет количественный эквивалент. Количественный эквивалент числа равен сумме количественных эквивалентов всех его цифр с учетом веса их позиций и знака числа,

(2-01)

Количественный эквивалент числа, цифры и т.д. обычно называют их значением.

Например, в традиционной десятичной системе счисления запись числа без знака 403,76 состоит из пяти цифр размещенных в пяти позициях, три из которых расположены слева от запятой, а две других – справа. Номера позиций расположенных слева от запятой 0, 1, 2, а справа – (–1), (–2). Позиция цифры 3 числа 403.76 имеет индекс 0, цифры 4 – (+2), а цифры 6 – (–2). Веса позиций цифр числа 403.76 будут 102, 101, 100, 10-1, 10-2 или, это то же самое: . Количественный эквивалент цифры 4 в числе 403.76 равен , а цифры 6 – . Значение (количественный эквивалент) числа 403.76, у которого и знак по умолчанию (+), на основании (2-01)

Такое же значение будет иметь слово +403.76. Слово –403.76 будет иметь количественный эквивалент –403,76.

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

.

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

Все приведенные в примерах числа являются действительными. Признаком того, что число действительное, является наличие в его записи разделителя (.), а не равенство нулю его дробной части. Запись –403,00 следует считать числом действительным, несмотря на то, что его количественный эквивалент равен количественному эквиваленту целого числа (–403). В некоторых случаях, чтобы подчеркнуть, что число является действительным, нули справа от разделителя не пишут, но разделитель сохраняют, например (–403.).

Признаком целого числа является отсутствие в записи числа разделителя, например (–43).

При записи правильной дроби, например (+0.403), иногда допускают исключение нуля в записи целой части числа и пишут (+.403).

Особыми числами являются +0 и –0. Количественный эквивалент у этих чисел отсутствует или, как говорят, равен нулю. Однако знак нуля может быть (+) или (–). В некоторых случаях знак нуля влияет на результаты вычислений, но это уже особенности арифметики, а не языка описания количества.

Языку описания количества принадлежит бесконечное множество цепочек символов из алфавита языка A. Однако не все цепочки, составленные из символов его алфавита, принадлежат языку. Например, цепочка 78+ не принадлежит языку описания количеств десятичной системы счисления.

Основание позиционной системы счисления P может быть целым, действительным (рациональным или иррациональным), положительным или отрицательным, мнимым или комплексным, но не может быть равным нулю. Количественные эквиваленты цифр алфавита не обязательно должны быть целыми и положительными. Алфавит может состоять из положительных и/или отрицательных цифр. Наличие нуля в алфавите необязательно.

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

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

Можно построить десятичную систему счисления с основанием и алфавитом из 10 цифр . Здесь цифра с черточкой (один символ) кодирует отрицательное количество, например  . В этой системе счисления можно записывать положительные и отрицательные целые числа, несмотря на отсутствие символов знака числа в алфавите. Например, запись 32 имеет количественный эквивалент . Слово кодирует количество . Если расширить алфавит разделителем (.), можно будет записывать действительные числа. Нетрудно проверить, что количественный эквивалент слова равен 3,93. Существенно, что в алфавите такой системы счисления знаки числа (+) и (–) отсутствуют.

Попробуйте записать в этой системе счисления все целые числа в интервале [–20, +20].

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

представленное в традиционной десятичной системе счисления. Сравните записи этого количества в традиционной десятичной системе счисления (403.76) и в сконструированной (673.04) системе счисления.

При и

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

Изображение символов алфавита в этой системе счисления могло бы быть иным. Выбранные “иероглифы” позволяют читателю легко ассоциировать цифру с кодируемым ею количеством. Например, цифра имеет количественный эквивалент (-0,1), а цифра кодирует количество (+0,1).

Введение в алфавит только одной цифры с положительным количественным эквивалентом позволяет кодировать положительные и отрицательные количества.

Количество 9 будет записано как , так как

.

Количество (–9) будет записано как  .

Запись кодирует количество

Примером системы счисления с отрицательным целым основанием и положительными цифрами алфавита является троичная система при , .

В этой системе счисления можно записывать отрицательные и положительные количества. Веса разрядов при основании

– слева от запятой:

(–3)0 = 1, (–3)1 = –3, (–3)2 = 9, (–3)3 = –27, (–3)4 = 81, … ;

– справа от запятой:

, , , , …

В табл.2.1 приведены записи некоторых целых чисел в системе с основанием .

Количественный эквивалент слова 121 записанного в системе равен ; а слова 1210 равен

.

Троичное число 11.201 кодирует количество

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

К

Таблица 2.1

Десят.

целое

В системе

P = -3

Десят.

целое

В системе

P = -3

0

1

2

3

4

5

6

7

8

9

10

11

12

0

1

2

120

121

122

110

111

112

100

101

102

220

-1

-2

-3

-4

-5

-6

-7

-8

-9

-10

-11

-12

-13

12

11

10

22

21

20

1202

1201

1200

1212

1211

1210

1222

оличество цифр в алфавите системы с целым основанием может превышать величину ее основания. Избыточность цифр алфавита приводит к неоднозначности представления количества. Так, в системе с и алфавитом цифр можно записывать как положительные, так и отрицательные числа разными способами. Например, десятичное число +5 можно записать как 12 или как . Десятичное –5, можно записать как или как 21.

Подробнее с различными системами счисления можно познакомиться в [3] и [4].

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

В универсальных вычислительных машинах наибольшее распространение получила двоичная система счисления. Кроме того, применяются восьмеричная, шестнадцатеричная и десятичная. В специализированных вычислителях находят применение и иные системы, в частности системы счисления с комплексным основанием.

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