АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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

Читайте также:
  1. VI. Представление результатов исследования
  2. АКТУАЛЬНЫЕ АСПЕКТЫ ПАТОГЕНЕЗА ВОСПАЛЕНИЯ. СОВРЕМЕННОЕ ПРЕДСТАВЛЕНИЕ О ПАТОГЕНЕЗЕ СЕПСИСА И СИНДРОМА СИСТЕМНОГО ВОСПАЛИТЕЛЬНОГО ОТВЕТА
  3. Алгебраическая и тригонометрическая формы записи комплексных чисел.
  4. Алгебраїчна замкненість поля комплексних чисел. Канонічний розклад многочленна над полем комплексних чисел та його єдиність.
  5. Алгебраїчна форма запису комплексних чисел та дії над комплексними числами, записаними у цій формі
  6. Арифметическое представление пространства и времени
  7. Бухгалтерский баланс как типовое представление объекта исследования
  8. В будущее с помощью чисел
  9. В результате суммарный спин (и сумма спиновых квантовых чисел) электронов на оболочке, состоящей из нескольких орбиталей, будет максимальным.
  10. Введите через пробел 15 чисел
  11. Ввод чисел и символов в калькулятор
  12. Взаимосвязь чисел и букв

Число с фиксированной запятой — естественная форма пред­ставления числа, когда положение запятой в разрядной сет­ке строго фиксируется. Обычно она фиксируется перед стар­шим или после младшего разрядов. Если запятая фикси­руется перед старшим разрядом, то числа в ЭВМ представ­ляются как правильные дроби; если после младшего — как целые числа. ЭВМ, в которых используется такая форма записи чисел, называют машинами с фиксированной запя­той. На рис. 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.

В дополнительном коде отрицательный нуль отсутствует.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)