Гл. 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.
Следует заметить, что все числа с плавающей запятой хранятся в машине в так называемом нормализованном виде. Нормализованным называют такое число, в старшем разряде мантиссы которого стоит единица. У нормализованных двоичных чисел, следовательно,