Гл. 3. Информационно-логические основы построения вычислительных машин

 

Вычислительные машины делятся на аналоговые (АВМ) и цифровые (ЦВМ). АВМ практически полностью вытеснены цифровыми.

 

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

 

Информация в большинстве современных компьютеров кодируется в двоичной или в двоично-десятичной системах счисления.

Система счисления — способ именования и изображения чисел с помощью сим­волов, имеющих определенные количественные значения. В зависимости от спо­соба изображения чисел, системы счисления делятся на:

□ позиционные;

□ непозиционные.

В позиционной системе счисления количественное значение каждой цифры зависит от ее места (позиции) в числе. В непозиционной системе счисления цифры не меня­ют своего количественного значения при изменении их расположения в числе. Количество (Р) различных цифр, используемых для изображения числа в пози­ционной системе счисления, называется основанием системы счисления. Значе­ния цифр лежат в пределах от 0 до Р - 1.

В общем случае запись любого смешанного числа в системе счисления с основа­нием Р будет представлять собой ряд вида:

 

Нижние индексы определяют местоположение цифры в числе (разряд):

□ положительные значения индексов — для целой части числа (т разрядов);

□ отрицательные значения — для дробной (s разрядов). Максимальное целое число, которое может быть представлено в m разрядах:

Nmax=Pm-l (2)

Минимальное значащее, не равное 0 число, которое можно записать в s разрядах дробной части:

Nmin = P-s. (3)

Имея в целой части числа m, а в дробной — s разрядов, можно записать всего pm+s разных чисел.

Двоичная система счисления имеет основание Р = 2 и использует для представ­ления информации всего две цифры: 0 и 1.

Существуют правила перевода чисел из одной системы счисления в другую, ос­нованные, в том числе, и на соотношении (1).

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

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

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

При переводе смешанного числа следует переводить его целую и дробную части отдельно.

1. Для перевода целой части числа ее, а затем целые части получающихся част­ных от деления, следует последовательно делить на основание Р до тех пор, пока очередная целая часть частного не окажется равной 0. Остатки от деле­ния, записанные последовательно справа налево, образуют целую часть числа в системе счисления с основанием Р.

2. Для перевода дробной части числа ее, а затем дробные части получающихся произведений, следует последовательно умножать на основание Р до тех пор, пока очередная дробная часть произведения не окажется равной 0 или не бу­дет достигнута нужная точность дроби. Целые части произведений, записан­ные после запятой последовательно слева направо, образуют дробную часть числа в системе счисления с основанием Р.

Рассмотрим перевод смешанного числа из десятичной в двоичную систему счис­ления на примере числа 46,625. Переводим целую часть числа: 46 : 2 = 23 (оста­ток 0). 23 : 2 = 11 (остаток 1). 11 : 2 = 5 (остаток 1). 5 : 2 = 2 (остаток 1). 2 : 2 = 1 (остаток 0). 1 : 2 = 0 (остаток 1). Записываем остатки последовательно справа нале­во — 101110, то есть 4610= 1011102 - Переводим дробную часть числа: 0,625 • 2 = 1,250. 0,250 • 2 = 0,500. 0,500 • 2 = 1,000. Записываем целые части получающихся произведений после запятой последовательно слева направо — 0,101, то есть: 0,62510 = 0,1012. Окончательно 46,62510= 101110,1012.

Представление чисел с фиксированной и плавающей запятой.

В вычислительных машинах применяются две формы представления двоичных чисел:

□ естественная форма, или форма с фиксированной запятой (точкой);

□ нормальная форма, или форма с плавающей запятой (точкой).

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

Например: в десятичной системе счисления имеется 5 разрядов в целой части числа (до запятой) и 5 разрядов в дробной части числа (после запятой); числа, записанные в такую разрядную сетку, имеют вид:

+00721.35500; +00000.000328: -10301.20260.

Эта форма наиболее проста, естественна, но имеет небольшой диапазон представ­ления чисел и поэтому чаще всего не приемлема при вычислениях. Диапазон значащих чисел N в системе счисления с основанием Р при наличии т разрядов в целой части и s разрядов в дробной части числа (без учета знака числа) будет таким:

 

Например, при Р = 2, m = 10 и s = 6 числа изменяются в диапазоне 0,015 < N < 1024. Если в результате операции получится число, выходящее за допустимые преде­лы, произойдет переполнение разрядной сетки, и дальнейшие вычисления теря­ют смысл. В современных компьютерах естественная форма представления ис­пользуется как вспомогательная и только для целых чисел.

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

 

где М — мантисса числа r — порядок числа (целое число); Р — основа­ние системы счисления.

Например, приведенные ранее числа в нормальной форме запишутся следующим образом: +0,721355 • 103; +0,328 • 10-3; -0,103012026 • 105.

Нормальная форма представления имеет огромный диапазон отображения чисел и является основной в современных компьютерах. Так, диапазон значащих чисел в системе счисления с основанием Р при наличии т разрядов у мантиссы и s раз­рядов у порядка (без учета знаковых разрядов порядка и мантиссы) будет:

 

Приведем пример. При Р = 2, m = 22 и s = 10 диапазон чисел простирается при­мерно от10-300 до 10300. Для сравнения: количество секунд, которые прошли с мо­мента образования планеты Земля, составляет всего 1018.

Следует заметить, что все числа с плавающей запятой хранятся в машине в так называемом нормализованном виде. Нормализованным называют такое число, в старшем разряде мантиссы которого стоит единица. У нормализованных дво­ичных чисел, следовательно,