Помощь в написании студенческих работ
Антистрессовый сервис

Лекция 6. Переполнение разрядной сетки

РефератПомощь в написанииУзнать стоимостьмоей работы

Рассмотрим примеры записи чисел в форме с плавающей запятой. Пусть в разрядную сетку ЭВМ (рис. 3.2) необходимо записать двоичные числа А1=-10 110,1111 и А2=+0,110 000 111. Прежде всего эти числа необходимо нормализовать. Порядок чисел выбираем таким образом, чтобы для них выполнялось условие (3.6), т. е. А1=-0,101 101 111. 25 и А2=+0.110 000 111. 2−3. Порядок должен быть записан также… Читать ещё >

Лекция 6. Переполнение разрядной сетки (реферат, курсовая, диплом, контрольная)

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

Пример 3.26. Сложить два числа, А = + 1101,1 и В = + 1011,0 (n=4, m=1) в обратном коде.

Лекция 6. Переполнение разрядной сетки.

В этом примере 1 переноса из старшего разряда попадает в знаковый разряд (с отрицательным весом) и, следовательно, в результате сложения двух положительных чисел получается отрицательное число.

При сложении отрицательных чисел в обратном или дополнительном кодах переполнение разрядной сетки наступает в том случае, если отсутствует 1 переноса в разряд с отрицательным весом и результат оказывается положительным.

Пример 3.27. Сложить два числа, А = - 1011 и В= - 1101 (n=4, m=0) в дополнительном коде .

Лекция 6. Переполнение разрядной сетки.

Для обнаружения переполнения разрядной сетки используют следующие способы:

  • 1. Сравнивают знаки слагаемых со знаком суммы. Сигнал переполнения вырабатывается тогда, когда знаки слагаемых одинаковы и не совпадают со знаком суммы.
  • 2. Второй способ основан на применении модифицированных кодов. Модификация кодов заключается во введении дополнительного разряда, который располагается перед знаковым. Этот разряд часто называют разрядом переполнения. Иногда говорят, что модифицированные коды содержат два знаковых разряда. Положительные числа имеют в знаковых разрядах два нуля, отрицательные — две единицы. При использовании модифицированных обратного и дополнительного кодов признаком переполнения разрядной сетки является наличие в знаковых разрядах различных цифр 01 или 10.

Пример 3.28. Сложить числа А1= +1011 и В1= +1101, А2= -1100 и В2= -1101 (n=4, m=0) соответственно в модифицированных дополнительном и обратном кодах.

Лекция 6. Переполнение разрядной сетки.

В обоих примерах произошло переполнение разрядной сетки.

При несовпадении знаковых разрядов в модифицированных кодах вырабатывается сигнал переполнения разрядной сетки.

Формы представления в ЭВМ числовых данных В математике широко используются две формы записи чисел: естественная и нормальная.

При естественной форме число записывается в естественном натуральном виде, например: 28 759 — целое число, 0,1 372 — правильная дробь, 25,0265 — неправильная дробь.

При нормальной форме запись одного и того же числа может быть различной в зависимости от ограничений, накладываемых на ее форму. Например, число 28 759 может быть записано так:

28 759=2,8759 . 104=287 590 . 10-1=0,28 759 . 105 и т. д.

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

Например, если под целые части отведено 3 разряда (n=3), а под дробную часть — 4 разряда (m=4), то числа запишутся в виде:

  • 000,0000
  • 000,0001
  • 000,0010

  • 111,1110
  • 111,1111.

Здесь число 000,0001 наименьшее (отличное от нуля) двоичное число, а 111,1111 — наибольшее число, представленное при данной разрядной сетке. Всякое число, большее нуля, но меньшее 0,0001, будет представлено нулем (это так называемый машинный нуль). Числа, большие 111,1111 в данной разрядной сетке не могут быть представлены, т.к. при записи таких чисел часть старших разрядов теряется.

Возникает вопрос, в каком месте разрядной сетки ЭВМ целесообразнее фиксировать запятую? Как правило запятую фиксируют или перед старшим цифровым разрядом чисел (машина оперирует с числами, меньшими единицы, т. е. n=0), или в конце разрядной сетки (машина оперирует с целыми числами, т. е. m=0).

При машинном представлении чисел один разряд отводится под знак числа, а остальные образуют поле числа (рис. 3.1). Знаковый разряд может располагаться как в начале, так и в конце числа. Обычно знак положительного числа изображается символом 0, а знак отрицательного числа — символом 1.

Лекция 6. Переполнение разрядной сетки.

На рис. 3.1 приведены примеры записи чисел в форме с фиксированной запятой отрицательного числа (запятая фиксирована перед старшим разрядом, n=0) и положительного целого числа (запятая фиксирована в конце разрядной сетки, m=0).

Если поле числа включает в себя m разрядов и запятая фиксирована перед старшим разрядом, то диапазон представления чисел в этом случае ограничивается значениями -(1−2-m)? + (1−2-m).

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

В нормальной форме записи число, А представляется в виде.

A=M . qП ,.

где М — мантисса числа, определяющая значащие цифры числа, q — основание системы счисления, П — порядок числа, определяющий положение запятой в числе.

Формат машинного изображения числа с плавающей запятой содержит поля для мантиссы (m разрядов) и порядка (р разрядов) и по одному разряду для знака мантиссы и знака порядка (рис. 3.2., m=9, p=5). Очевидно, что знак мантиссы является и знаком числа. Кодирование знаков остается таким же, как и при представлении чисел в форме с фиксированной запятой.

Обычно в ЭВМ запятая в мантиссе фиксируется перед старшим знаковым разрядом, а порядок представляет собой целое число. Чтобы избежать неоднозначности представления чисел используют так называемую нормализованную форму, для которой справедливо следующее условие:

q-1? ?m? < 1. (3.6).

Так десятичные числа 42,56 . 102 и 0,374 . 10-4 в нормализованном виде должны быть записаны следующим образом: 0,4256 . 104 и 0,374 . 10-6. Для двоичной системы счисления нормализованные числа в старшем разряде мантиссы имеют 1.

Рассмотрим примеры записи чисел в форме с плавающей запятой. Пусть в разрядную сетку ЭВМ (рис. 3.2) необходимо записать двоичные числа А1=-10 110,1111 и А2=+0,110 000 111. Прежде всего эти числа необходимо нормализовать. Порядок чисел выбираем таким образом, чтобы для них выполнялось условие (3.6), т. е. А1=-0,101 101 111 . 25 и А2=+0.110 000 111 . 2-3. Порядок должен быть записан также в двоичной системе.

Лекция 6. Переполнение разрядной сетки.
Лекция 6. Переполнение разрядной сетки.

Для изображения порядка выделено пять цифровых разрядов и один знаковый разряд, поэтому машинные изображения порядков запишутся как ПА1=101 и ПА2=100 011. При этом машинные изображения мантисс будут равны соответственно: МА1=1 101 101 111 и МА2=110 000 111.

Изображения чисел А1 и А2 в форме с плавающей запятой показаны на рис. 3.2б и 3.2 В.

Представление числовой информации в ЭВМ, как правило, влечет за собой появление погрешностей (ошибок), значения которых зависят как от формы представления чисел, так и от длины разрядной сетки ЭВМ.

Абсолютная погрешность представления — это разность между числом, А и его значением, полученным из машинного изображения АМ:

?[A] = A — AM.

Относительная погрешность представления — это отношение абсолютной погрешности представления числа к его значению в машинном представлении:

?[A] = ?[A] / AM.

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

?[A] max ф.з. = 2-m / 2 = 2-m-1,.

где m — длина разрядной сетки для представления дробной части числа. Тогда минимальная и максимальная относительные погрешности представления правильной дроби в форме с фиксированной запятой определятся соответственно следующим образом:

Лекция 6. Переполнение разрядной сетки.

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

При представлении чисел в форме с плавающей запятой максимальная абсолютная погрешность определяется половиной значения младшего разряда мантиссы и кроме того она зависит от величины порядка:

Лекция 6. Переполнение разрядной сетки.

Отсюда относительная ошибка определится как.

Лекция 6. Переполнение разрядной сетки.

которая достигает максимума при минимальной нормализованной мантиссе.

Лекция 6. Переполнение разрядной сетки.

и минимума при максимальной мантиссе.

Лекция 6. Переполнение разрядной сетки.

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

Показать весь текст
Заполнить форму текущей работой