Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
toi.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
99.65 Кб
Скачать

Лекция 1. Предствление данных в памяти эвм Предствление числа в эвм

Запись числа в ЭВМ. Структура разрядной сетки с фиксированной и с плавающей запятой. Диапазоны представимых чисел в зависимости от типа разрядной сетки. Преимущества и недостатки данных форматов представления числа.

Представление числа в ЭВМ осуществляется с помощью конечного набора базовых элементов, каждый из которых "запоминает" один разряд числа. Совокупность таких элементов называется разрядной сеткой. Точность представления числа в ЭВМ зависит от количества элементов в разрядной сетке и способа их использования. Так, разрядные сетки бывают двух типов - с фиксированной запятой (ФЗ) и с плавающей запятой (ПЗ).

Разрядная сетка с фиксированной запятой - это конечная разрядная сетка, в которой строго фиксировано число разрядов для представления целой части числа и дробной части числа (т. е. по сути фиксировано положение запятой). В машинах чаще используются сетки ФЗ двух типов: а - запятая зафиксирована после последнего разряда и б - запятая зафиксирована перед первым разрядом числа. Нулевой разряд сетки отведен под код знака числа. Знак числа кодируется нулем, если число положительное, и числом (p—1), где p - основание системы счисления, если число отрицательное. Вес каждого разряда указан над ним.

 

Очевидно, что в разрядную сетку типа ФЗ, а можно поместить только целое число, в сетку типа ФЗ, б - только дробное.

Найдем диапазон чисел, представимых в разрядных сетках с фиксированной запятой. Для этого достаточно найти наибольшее и наименьшее значение чисел для положительной и отрицательной частей числовой оси.

 

Начнём с разрядной сетки типа ФЗ, а. Для простоты рассмотрим случай p = 2. Наибольшее положительное число в разрядной сетке будет иметь вид

Его можно выразить как +(2n-1), где n - число разрядов, отведённых под запись числа.

Объединив полученные результаты, запишем:

Для произвольной системы счисления

Все числа |x| < 1 образуют область машинного нуля, все числа |x| > pn -1 образуют область переполнения.

Рассуждая аналогично, найдём диапазон чисел в разрядной сетке типа

ФЗ, б:

Область |x| < p-п является областью машинного нуля, область | x | > 1 – p-п - областью переполнения.

Чтобы произвольное число х поместилось в разрядную сетку, его предварительно следует отмасштабировать, т. е. домножить на число Мх - масштаб, такое, чтобы результат хт = xMсоответствовал имеющейся разрядной сетке.

Например, требуется записать число = -308,12(10) в 8-разрядных сетках типа ФЗ, а и ФЗ, б. В случае ФЗ, а масштаб М = 102преобразует число в целое xт = -308,12 102 = -3 0812; в разрядной сетке число имеет вид

Для случая ФЗ, б масштаб М = 10-3 обеспечивает преобразование числа

x в дробное xт = -308,12 10 3 = -0,30812. В разрядной сетке число xт будет выглядеть следующим образом:

Необходимость ручного масштабирования является одним из основных недостатков разрядных сеток такого типа, ограничивая их применение в вычислительных машинах. Кроме того, относительная погрешность малых чисел оказывается очень высока при таком способе их записи. Поэтому на практике большее применение получили разрядные сетки с плавающей запятой, в которых размещается не только само число, но и его масштаб.

Разрядная сетка с плавающей запятой состоит как бы из двух сеток с фиксированной запятой: ФЗ, а и ФЗ, б, причем в сетку типа а заносится порядок числа, в сетку типа б - мантисса числа.

 

Чтобы разместить число х в сетке такого типа, требуется сначала представить его в нормализованном виде, т. е. в виде произведения мантиссы

на масштаб ps:

                                                     (12.1)

                                                                     (12.2)

 

где  - мантисса;

p - основание системы счисления;

 s - порядок масштаба (или просто порядок).

Условие (12.2) обеспечивает единственность нормализованного представления числа.

Пусть требуется разместить десятичное число х = -48,105 в разрядной сетке типа ПЗ, где 3 разряда отведено под порядок и 6 разрядов под мантиссу. Нормализованный вид числа хх = -0,48105 • 10 . Содержимое разрядной сетки:

Диапазон представимых чисел для разрядных сеток с плавающей запятой значительно шире, чем для сеток с фиксированной запятой.

Для положительных чисел получаем:

 

 

Объединяем интервалы:

Этот результат получен для 2-ичной СС, но его легко обобщить для произвольной натуральной СС с основанием p:

                   (12.3)

Отсюда видно, что чем больше т и к, тем шире диапазон представимых чисел.

Область машинного нуля имеет вид | x | < , она зависит только от к - числа разрядов, отведённых под порядок.

Область переполнения |x|> определяется всеми параметрами сетки.

Оценим точность представления чисел в форме с плавающей запятой.

Абсолютная погрешность числа x и мантиссы :

Относительная погрешность, учитывая (12.2):

зависит от числа разрядов, отведённых под мантиссу. Это выгодно отличает данный способ представления от записи в форме с фиксированной запятой, где относительная погрешность числа зависит от самого числа и растёт с уменьшением его абсолютного значения.

Итак, представление числа с плавающей запятой имеет ряд преимуществ:

-    шире диапазон представимых чисел;

-    не требуется предварительное масштабирование чисел;

-     относительная погрешность не зависит от значения числа.

Однако, при выполнении операций над числами, также возможно получение результата, порядок которого больше допустимого в машине. Например,

необходимо вычислить z = w • v/u, где w = 0,4 • 1010, v = 0,3 • 1010, u = 0,2 • 108 Если сначала выполнить умножение (w • v), то порядок станет больше максимально допустимого (1012), произойдёт переполнение по порядку и машина прекратит вычисления. Если сначала выполнить деление (w/u), а затем умножение (w/u) • v, то все результаты, включая промежуточный, будут в рамках диапазона представимых чисел. Этот момент следует учитывать при программировании вычислений. Он является следствием неассоциативности машинной арифметики.

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

Начало формы

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]