Максимов Н.В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем (2005) (1186253), страница 10
Текст из файла (страница 10)
(1.1)Нижние индексы определяют местоположение цифры в числе(разряд):• положительные значения индексов — для целой части числа(т разрядов);• отрицательные значения — для дробной (s разрядов).Максимальное целое число, которое может быть представлено вт разрядах:N"max = •*Р"' - 1*•Минимальное значащее, не равное 0, число, которое можно записать в 5 разрядах дробной части:/V- P~'s" m m ~гИмея в целой части числа т разрядов, а в дробной — s, можнозаписать Р"' + 5 разных чисел.Д в о и ч н а я с и с т е м а с ч и с л е н и я имеет основание Р = 2 ииспользует для представления информации две цифры: 0 и 1.Существуют правила перевода чисел из одной системы счисления в другую, основанные, в том числе, и на выражении (1 1).48Глава 1.
Вычислительные приборы и устройства...Например, двоичное число 101110,101 равно десятичному числу46,625:101110,101 2 = 1 х 2 5 + 0 х 2 4 + 1 х 2 3 + 1 х 2 2 + 1 х 2 ' + 0 х 2 ° ++ 1 х 2'1 + 0 х 2'2 + 1 х 2-3 = 46,62510.Практически перевод из двоичной системы в десятичную можно легко выполнить, надписав над каждым разрядом соответствующий ему вес и сложив затем произведения значений соответствующих цифр на их веса.Например, двоичное число 010000012 равно 6510. Действительно,64 • 1 + 1 • 1 = 65.ВесЦифра128643216842101000001Таким образом, для перевода числа из позиционной системысчисления с любым основанием в десятичную систему счисленияможно воспользоваться выражением (1.1).Обратный перевод из десятичной системы счисления в системусчисления с другим основанием непосредственно по (1.1) затруднителен, поскольку все арифметические действия, предусмотренныеэтой формулой, следует выполнять в той системе счисления, в которую число переводится.
Обратный перевод выполняется значительно проще, если предварительно преобразовать отдельно целую идробную части выражения (1.1) к видуР+Р+ ... + а,) х Р+ а,) х Р+ я0;Алгоритм перевода числа из десятичной системы счисления всистему счисления с основанием Р, основанный на этих выражениях, позволяет оперировать числами в той системе счисления, из которой число переводится, и может быть сформулирован следующимобразом.При переводе смешанного числа следует переводить его целую идробную части отдельно.1.
Для перевода целой части числа ее, а затем целые части получающихся частных от деления, следует последовательно делить наоснование Р до тех пор, пока очередная целая часть частного неокажется равной 0. Остатки от деления, записанные последовательно справа налево, образуют целую часть числа в системе счисленияс основанием Р.1.3. Информация, кодирование, обработка в ЭВМ492. Для перевода дробной части числа ее, а затем дробные частиполучающихся произведений, следует последовательно умножать наоснование />до тех пор, пока очередная дробная часть произведенияне окажется равной 0 или не будет достигнута нужная точность дроби. Целые части произведений, записанные после запятой последовательно слева направо, образуют дробную часть числа в системесчисления с основанием Р.Пусть требуется перевести смешанное число из десятичной вдвоичную систему счисления на примере числа 46,625.1.
Переводим целую часть числа: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,т. е. 46 1 0 = 101110,2. Переводим дробную часть числа:0 , 6 2 5 x 2 = 1,250.0,250x2 = 0,500.0,500 х 2 = 1,000 (дробная часть равна 0 => стоп).Записываем целые части получающихся произведений после запятой последовательно слева направо — 0,101, т. е. 0,62510 = 0,101,.Окончательно: 46,62510 =101110,101 2 .Кроме двоичной и десятичной при работе с компьютером частоиспользуются также двоично-десятичная и шестнадцатеричная системы счисления (табл.
1.11)Шестнадцатеричная система счисления часто используется припрограммировании. Перевод чисел из шестнадцатеричной системысчисления в двоичную систему весьма прост — он выполняется поразрядно.Для изображения цифр, больших 9, в шестнадцатеричной систем е счисления применяются буквы А = 1 0 , B = l l , C = 1 2 , D = 1 3 ,Е= 14, F= 15.Например, шестнадцатеричное число F17B в двоичной системевыглядит так: 1111000101111011, а в десятичной — 61 819.Двоично-десятичная система счисления получила большое распространение в современных компьютерах ввиду легкости переводав десятичную систему и обратно.
Она используется там, где основ-50Глава 1. Вычислительные приборы и устройства...Таблица 1. П. Перевод цифр из двоичной системы счисления в восьмеричнуюи десятичную и наоборотТриадаВосьмеричнаяцифраТетрадаШестнадцатеричнаяцифраДесятичноечислоДвоично-десятичнаязапись00000000000000-000000110001110000-000101020010220000-00100113ООП030000-001110040100430000-010010150101550000-010111060110660000-011011170111770000-01111000880000-10001001990000-10011010А100001-00001011В110001-00011100С120001-00101101D130001-00111110Е140001-01001111F150001-0101ное внимание уделяется не простоте технического построения машины, а удобству работы пользователя.
В этой системе счислениявсе десятичные цифры отдельно кодируются четырьмя двоичнымицифрами и в таком виде записываются последовательно друг задругом.Двоично-десятичная система не экономична с точки зренияреализации технического построения машины (примерно на 20 %увеличивается требуемое оборудование), но очень удобна при подготовке задач и при программировании. В двоично-десятичной системе счисления основанием системы счисления является число 10,но каждая десятичная цифра (О, 1, ..., 9) кодируется двоичнымицифрами.1.3. Информация, кодирование, обработка в ЭВМ51Представление чисел в ЭВМКак известно, в ЭВМ применяется двоичная система счисления.Может быть доказано, что при этом на построение ЭВМ тратитсянаименьшее количество базовых аппаратных элементов — «вентилей». Точнее, оптимальным основанием системы счисления по критерию «минимум аппаратных расходов» является основание натурального логарифма е » 2,72.Однако по ряду очевидных причин для ЭВМ принято Р = 2.Достаточно вспомнить, что одна из первых электронных ВМENIAC содержала 17 468 электронных ламп, имела размеры около6 м в высоту и 30 м в длину.
Обилие применяемых вакуумных ламп,габаритные размеры машины отчасти объяснялись тем, что она работала с десятичными числами.В ЭВМ применяются две формы представления чисел:• естественная форма, или форма с фиксированной запятой(точкой) — ФЗ (ФТ);• нормальная форма, или форма с плавающей запятой (точкой) - 173 (ПТ).Фиксированная запятая (точка). В форме представления с фиксированной запятой (тонкой) числа изображаются в виде последовательности цифр с постоянным для всех чисел положением запятой,отделяющей целую часть от дробной.Например, пусть числа представлены в десятичной системесчисления и имеют пять разрядов в целой части числа (до запятой)и пять в дробной части (после запятой).
Числа, записанные в такуюразрядную сетку, имеют вид:+00721.35500.+00000.00328.-10301.20260.Эта форма наиболее проста, естественна, но имеет небольшойдиапазон представления чисел и поэтому чаще всего неприемлемапри вычислениях.Диапазон значащих чисел N в системе счисления с основаниемР при наличии т разрядов в целой части и 5 разрядов в дробнойчасти числа (без учета знака числа) будет таким:sР~*< N< Р"' - P~ .Например, при Р=2, m = 10 и s = 6 числа изменяются в диапазоне 0,015 < 7V< 1024. Если в результате операции получится число,выходящее за допустимые пределы, произойдет переполнение разрядной сетки, и дальнейшие вычисления теряют смысл.
В совре-J52Глава 1. Вычислительные приборы и устройства...менных компьютерах естественная форма представления используется как вспомогательная и только для целых чисел.В памяти ЭВМ числа с фиксированной точкой хранятся в трехформатах:а) полуслово — это обычно 16 бит, или 2 байта;б) слово — 32 бита, или 4 байта;в) двойное слово — 64 бита, или 8 байтов.Отрицательные числа с ФТ записываются в разрядную сетку вдополнительных кодах, которые образуются прибавлением единицык младшему разряду обратного кода. Обратный код получается заменой единиц на нули, а нулей на единицы в прямом двоичномкоде.Плавающая запятая (точка).
В форме представления с плавающей запятой (точкой) число изображается в виде двух групп цифр:• мантисса;• порядок.При этом абсолютная величина мантиссы должна быть меньше 1, а порядок должен быть целым числом. В общем виде число вформе с плавающей запятой может быть представлено так:N=±MxP±l,где М — мантисса числа (| М\ < 1); г — порядок числа (целое число);Р — основание системы счисления.Например, приведенные ранее числа в нормальной форме запишутся следующим образом:+0,721355 х Ю3;+0,328 х Ю-3;-0, 103012026 х Ю5.Нормальная форма представления обеспечивает большой диапазон отображения чисел и является основной в современных компьютерах. Так, диапазон значащих чисел в системе счисления с основанием Р при наличии т разрядов у мантиссы и s разрядов у порядка (без учета знаковых разрядов порядка и мантиссы) будет:Например, при Р=2, АЯ = 22 и s= 10 диапазон чисел простирается примерно от Ю"300 до Ю300.
Для сравнения: количество секунд,которые прошли с момента образования планет Солнечной системы, составляет около Ю 18 .Следует заметить, что все числа с плавающей запятой хранятсяв машине в так называемом нормализованном виде.1.3. Информация, кодирование, обработка в ЭВМ53Нормализованным называют такое число, старший разряд мантиссы которого больше нуля. У нормализованных двоичных чисел,следовательно, 0,5 < | М\ < 1.Нормализованные, т. е.
приведенные к правильной дроби,числа:10,35 |0 = 0,103510 х 10+2;0,00007245 8 =0,7245 8 х8- 4 ;F5C,9B 16 =0,F5C9B 16 xl6 +3 ;В памяти ЭВМ числа с ПТ хранятся в двух форматах:• слово — 32 бита, или 4 байта;• двойное слово — 64 бита, или 8 байт.Разрядная сетка для чисел с ПТ имеет следующую структуру:• нулевой разряд — это знак числа (0 — «минус», 1 — «плюс»);• с 1 по 7 разряд записывается порядок в прямом двоичномкоде, пустые разряды заполняются нулями. В первом разрядеуказывается знак порядка (1 — «плюс» или 0 — «минус»);• с 8 по 31 (63) указывается мантисса, слева направо без нуляцелых в прямом двоичном коде и для отрицательных чисел ипустые разряды заполняются нулями.Алгебраическое представление двоичных чиселЗнак числа обычно кодируется двоичной цифрой, при этом:код 0 означает знак + (плюс);код 1 — знак - (минус).Для алгебраического представления чисел, т.