Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Представление чисел с фиксированной запятой.
Число с фиксированной запятой — естественная форма представления числа, когда положение запятой в разрядной сетке строго фиксируется. Обычно она фиксируется перед старшим или после младшего разрядов. Если запятая фиксируется перед старшим разрядом, то числа в ЭВМ представляются как правильные дроби; если после младшего — как целые числа. ЭВМ, в которых используется такая форма записи чисел, называют машинами с фиксированной запятой. На рис. 1.4, а приведена разрядная сетка ЭВМ для представления чисел с фиксированной запятой перед старшим разрядом. Разряды такой сетки нумеруются слева направо, начиная с нулевого, который называется знаковым разрядом. В этом разряде 0 соответствует плюсу, а 1 -минусу на разрядной сетке указан вес каждого разряда. Максимальное машинное число по абсолютной величине, т. е. без учета знака, равно
где n - количество разрядов числа. Минимальное, отличное от нуля машинное число
Диапазон чисел всех возможных величин в данном случае определяется неравенством: 2-n <|Х|<:(1—2 -n). Среди команд ЭВМ есть такие, когда операция с фиксированной запятой производится не только над числами, но и над адресами. В этом случае операнд интерпретируется как двоичное число без знака. Диапазон представления чисел без знака в два раза больше, чем со знаком в разряд - ной сетке ЭВМ. Работа ЭВМ в режиме с фиксированной запятой используется в основном для управления технологическими процессами и обработки информации в реальном масштабе времени. При выполнении операций над двоичными числа - ми с фиксированной запятой основным операндом в ЕС ЭВМ является 32-разрядное, в 16-разрядных мини - и микроЭВМ—16-разрядное, а в 8-разрядных микроЭВМ— 8-разрядное слово. В ЕС ЭВМ могут использоваться операнды длиной в полуслово, а произведения и делимые — длиной в двойное слово. Десятичные числа в ЭВМ представляются только в естественной форме. Десятичные числа кодируются тетрадами в коде 8-4-2-1 и используются два формата для их представления: упакованный (уплотненный) и распакованный (зонный). В упакованном формате в одном байте размещаются две десятичные цифры. Код знака размещается в правых четырех разрядах младшего байта (рис. 1.5, а). В распакованном формате младшие четыре разряда байта заняты цифрой, а остальные разряды содержат служебный символ (зону). В младший байт записываются код знака и код младшей десятичной цифры (рис. 1.5,6).
Десятичные числа вводятся обычно в распакованном формате, а при выполнении операций переводятся по специальной программе в упакованный формат; при выводе из ЭВМ десятичные числа вновь преобразуются в распакованный формат по специальной программе. Упакованный формат представления десятичных чисел позволяет эффективно использовать ОП, уменьшить процесс выполнения арифметических операций и ускорить процесс обмена информацией между ОП и периферийными устройствами. Представление чисел с плавающей запятой. Оно основывается на изображении чисел в полулогарифмической форме А = ±р, ±М, соответствующей записи чисел в нормальной форме, A—d±p* (±M), где р — целое число, называемое порядком числа Л; d — основание системы счисления; М — мантисса числа А (обычно |М|<1). Фактически положение запятой в мантиссе М определяется величиной порядка р. С изменением р в большую или меньшую сторону запятая соответственно перемещается влево или вправо, т. е. «плавает» в изображении числа. Пример 1.12. Представить в форме с плавающей запятой числа (158)10 и (101101)2. Решение. 1. (158)10=103*0,158= 104*0,0158= 105*0,00158. 2.(101101)2=2110*0,'1б1101 = 2111* 0,0101101 =21000 *0,00101101. Числа, удовлетворяющие условию 1/d<=М<=1, называют нормализованными. Как видно из примера, при разных порядках числа положение запятой бывает различным; поэтому ЭВМ, допускающие такую форму записи числа, относят к машинам с плавающей запятой. В их памяти числа хранятся нормализованными. В разрядной сетке ЭВМ (рис. 1.6) фиксируются знак числа, знак порядка, порядок числа и числовое выражение мантиссы. Нормализованное представление чисел позволяет сохранять в разрядной сетке большое количество значащих цифр, что повышает точность вычислений. Обычно в ЭВМ нормализация, как при вводе чисел, так и в процессе вычислений
(после выполнения очередной операции) осуществляется автоматически. При этом мантисса сдвигается влево на не-обходимое число разрядов и производится соответствующее уменьшение порядка, т. е. производится «нормализация влево». При выполнении операции сложения или вычитания нормализованных чисел с разными порядками одно из них «нормализуется» до уравнения порядков, а сумма (или разность) опять нормализуется.
В ЭВМ с плавающей запятой возможно переполнение разрядной сетки, так же как и в машине с фиксированной запятой. Например, переполнение может возникнуть при сложении нормализованных чисел с одинаковыми порядками. В этом случае появляется единица слева от запятой. Такого рода переполнение исключается сдвигом мантиссы вправо на один разряд и увеличением порядка на единицу, т. е. производится «нормализация вправо». От количества разрядов, отводимых для хранения порядка, зависит диапазон записываемых чисел, а от количества разрядов, отводимых для мантиссы,— точность записи числа. Если под цифровые разряды мантиссы отведено n,а порядка — т разрядов, то максимальное и минимальное по абсолютной величине нормализованные двоичные числа соответственно равны:
Диапазон чисел в ЭВМ с плавающей запятой определяется неравенством 2-(2m-1)*2-1<=|A|<=2(2m-1)*(1—2--n). (1.2) При достаточно больших п (обычно n >30) 1—2n=1 и неравенство (1.2) принимает вид 2-2m<=|A|<=2(2m-1). (1.3) Из этого неравенства видно, что диапазон чисел зависит в основном от порядка р. Если число превышает верхний предел неравенства (1.3), то происходит переполнение разрядной сетки и ЭВМ автоматически останавливается.
Если число выйдет за нижний предел неравенства (1.3), то оно будет соответствовать машинному нулю. Если т взято достаточно большим, то абсолютная величина А будет настолько велика, что при вычислениях для большинства задач все числа не будут выходить из диапазона чисел ЭВМ и не нужно будет прибегать к масштабным коэффициентам. Однако при этом уменьшается точность вычислений, так как увеличиваются ошибки округления и потери значности при нормализации. В целях устранения такого недостатка в современных ЭВМ предусматривается возможность перераспределения разрядов машинного слова между мантиссой и порядком программным путем. В последних моделях ЭВМ получило распространение представление чисел с плавающей запятой с недвоичным основанием системы счисления (d=8 и d=16). Использование недвоичного основания несколько уменьшает точность вычислений при заданном числе разрядов мантиссы, но позволяет увеличить диапазон представляемых чисел в ЭВМ и ускорить выполнение некоторых операций, в частности нормализации, за счет того, что сдвиг производится сразу на несколько двоичных разрядов (при d=8 на три разряда, при d=16 на четыре разряда). Вероятность получения ненормализованных чисел входе вычислений значительно уменьшается. В ЕС ЭВМ и СМ ЭВМ при представлении чисел с плавающей запятой применяется основание d=16, и порядок числа выражается через характеристику рx — смещенные порядки, представляющие собой сумму действительного порядка р числа с учетом знака и числа 64, т. е. px=p+64.
Отрицательные и положительные действительные порядки р, увеличившись на 64, оказываются смещенными на числовой оси в положительном направлении и представляются 7-разрядными двоичными числами без знака от 0 до 127 (рис. 1.7). Так как все характеристики рx являются положительными, то это упрощает выполнение некоторых действий над ними, например исключение операций над знаками порядков.
В ЕС ЭВМ в операциях с плавающей запятой числа могут быть двух форматов фиксированной длины: короткий — в одно слово (рис. 1.8, а) и длинный — в двойное слово (рис. 1.8, б). Форматы различаются длиной мантиссы. Характеристики и мантиссы положительных и отрицательных чисел хранятся в ОП в прямом коде (рис. 1.8, в). В некоторых мини - и микроЭВМ предусматривается возможность обрабатывать числа с плавающей запятой - Формат слова данных с плавающей запятой для 16-байтовых ЭВМ показан на рис. 1.9, а. В целях увеличения точности представления дробной части числа и диапазона представления чисел используют для представления числа с плавающей запятой два прилегающих друг к другу 16-битовых слова (рис. 1.9, б). Младшая часть мантиссы хранится в следующем, старшем по адресу 16-битовом слове.
Для выполнения операций в ЭВМ числа кодируются специальными машинными кодами. Используются прямой, дополнительный и обратный коды, позволяющие заменить операцию непосредственного вычитания операцией сложения чисел с целью упрощения АЛУ ЭВМ. Дополнительный код. Формула для образования дополнительного кода двоичного числа А имеет вид
1.5 Пример 1.14. А=— 0,101010; А доп =10+(—0,101010)= 1,010110. Как видно из выражения (1.5), дополнительный код положительного числа полностью совпадает с изображением числа в прямом коде. Сравнивая отрицательное число А с его дополнительным кодом А доп, можно вывести следующее правило: чтобы записать отрицательное число в дополнительной коде, нужно в знаковом разряде этого числа поставить единицу, аво всех числовых разрядах нули заменить единицами, а единицы — нулями и к полученному результату прибавить единицу младшего разряда. Пример 1.15. Записать двоичное число А=- 0,0101 в дополнительном коде. Адоп = 1,1010+0,0001 = 1,1011. Чтобы преобразовать дополнительный код отрицательного числа в прямой код, необходимо в числовых разрядах этого числа заменить нули на единицы, а единицы на нули и прибавить к полученному результату единицу младшего разряда. Пример 1.16. Преобразовать дополнительный код Адоп = 1,1011 отрицательного числа в прямой код. Апр = 1,0100+0,0001 =1,0101. В дополнительном коде отрицательный нуль отсутствует.
|
|||||||
Последнее изменение этой страницы: 2016-08-15; просмотров: 3499; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.96.254 (0.013 с.) |