Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Топ:
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Интересное:
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Дисциплины:
2018-01-13 | 458 |
5.00
из
|
Заказать работу |
|
|
В современных ЭВМ числа с плавающей точкой хранятся в памяти машин, имея мантиссу и порядок (характеристику) в прямом коде и нормализованном виде. Все арифметические действия над этими числами выполняются так же, как это делается с ними, если они представлены в полулогарифмической форме (мантисса и десятичный порядок) в десятичной системе счисления. Порядки и мантиссы обрабатываются раздельно.
Сложение (вычитание). Операция сложения (вычитания) производится в следующей последовательности.
1. Сравниваются порядки (характеристики) исходных чисел путем их вычитания . При выполнении этой операции определяется, одинаковый ли порядок имеют исходные слагаемые.
2. Если разность порядков равна нулю, то это значит, что одноименные разряды мантисс имеют одинаковые веса (двоичный порядок). В противном случае должно проводиться выравнивание порядков.
3. Для выравнивания порядков число с меньшим порядком сдвигается вправо на разницу порядков . Младшие выталкиваемые разряды при этом теряются.
4. После выравнивания порядков мантиссы чисел можно складывать (вычитать) в зависимости от требуемой операции. Операция вычитания заменяется операцией сложения в соответствии с данными табл.2.1. Действия над слагаемыми производятся в ОК или ДК по общим правилам.
5. Порядок результата берется равным большему порядку.
6. Если мантисса результата не нормализована, то осуществляются нормализация и коррекция значений порядка.
Пример.
Сложить два числа A10 = +1.375; B10 = - 0.625
А2= +1.011 = 0: 1011*101; B2 = - 0.101 = - 0: 101*100.
В нормализованном виде эти числа будут иметь вид:
Порядок Мантисса
[A2]п = 0: 1 0: 1011 - для числа А10
знак числа
[B2]п =0: 0 1: 101 - для числа В10
|
1. Вычитаем порядки = 1- 0 = 1. В машине эта операция требует операции сложения с преобразованием порядка чисел в дополнительный код:
Определяем, что
2. Порядок первого числа больше порядка второго числа на единицу. Требуется выравнивание порядков.
3. Для выравнивания порядков необходимо второе число сдвинуть вправо на один разряд:
[В2]исх = 0: 0 1: 101
после сдвига
[В2/]п = 0: 1 1: 0101
[m/B]дк = 1: 1011
4. Складываем мантиссы:
[mA]дк = 0: 1011
+ [m/B]дк = 1: 1011
[mC]дк = 0: 0110
Мантисса числа С - положительная.
5. Порядок числа С равен порядку числа с большим порядком, т.е. pс = +1
[С2]п = 0: 1 0: 0110.
Видно, что мантисса результата не нормализована, так как старшая цифра мантиссы равна нулю.
6. Нормализуем результат путем сдвига мантиссы на один разряд влево и соответственно вычитаем из значения порядка единицу:
[С2]п = 0: 0 0: 110;
С10 = + 0.75.
Пример сложения:
Сложить двоичные дроби 1011,12 и 10,1012.
(переносы) | |||||||
,1 | (первое число) | ||||||
+ | ,1 | (второе число) | |||||
,0 | (результат) |
Выполняя проверку, находим:
1011,12 = 11,510, 10,1012 = 2,62510, 1110,0012 = 14,12510, 11,510 + 2,62510 = 14,12510, значит, в вычислениях ошибок нет.
Пример вычитания: Выполнить вычитание дробных двоичных чисел 10,11 и 110,101.
Заметим, что при вычитании двоичных чисел, как и в десятичной системе счисления, требуется вычесть из большего числа меньшее, и сделать результат отрицательным, если на самом деле из меньшего числа вычитается большее:
. | . | . | (займы) | ||||
(уменьшаемое) | |||||||
(вычитаемое) | |||||||
(разность) |
Так как числа вычитаются наоборот, то результат должен быть отрицательным: 10,11 – 110,101 = -11,001. В ходе проверки устанавливается, что:
10,112 = 2,7510, 110,1012 = 6,62510, -11,0012 = -3,87510, 2,7510 – 6,62510 = -3,87510, т. е. вычисления произведены без ошибок.
Умножение (деление).
Операция умножения (деления) чисел с плавающей точкой также требует разных действий над порядками и мантиссами. Алгоритмы этих операций выполняются в следующей последовательности.
|
1. При умножении (делении) порядки складываются (вычитаются) так, как это делается над числами с фиксированной точкой.
2. При умножении (делении) мантиссы перемножаются (делятся).
3. Знаки произведения (частного) формируются путем сложения знаковых разрядов сомножителей (делимого и делителя). Возможные переносы из знакового разряда игнорируются.
Пример: Умножить дробные двоичные числа 11,1 и 10,011.
Запишем числа друг под другом, выровненные по правому краю и без двоичных запятых:
× | (первый множитель без двоичной запятой) | |||||||
(второй множитель без двоичной запятой) | ||||||||
(переносы сложения) | ||||||||
(число, полученное умножением единицы 10,011 на первое число) | ||||||||
(число, полученное умножением единицы 10,011 на первое число) | ||||||||
(число, полученное умножением единицы 10,011 на первое число) | ||||||||
(результат без учета двоичной запятой) |
Поскольку в двух исходных числах справа от их запятых находится в совокупности 4 знака, то и в результате нужно отделить 4 знака после двоичной запятой, т. е. реальным результатом умножения этих двух чисел является 11,12 . 10,0112 = 1000,01012.
Действительно,
11,12 = 3,510, 10,0112 = 2,37510, 1000,01012 = 8,312510, 3,510 . 2,37510 = 8,312510, что подтверждает правильность вычислений.
Пример: Произвести деление двоичных чисел 1111 и 100 с остатком.
Другими словами, 1111/100 = 1111/100, или, поскольку знаменатель выражен числом 2 в натуральной степени, 11,11.
Действительно, при проверке видим, что:
11112 = 1510, 1002 = 410, 112 = 310, 1510: 410 = (33/4)10 = 3,7510 и, таким образом, деление выполнено правильно.
Пример: Разделить двоичные числа 1111 и 100 и выразить результат двоичной дробью.
При делении можно сразу получить двоичную дробь, если продолжать действие даже тогда, когда целая часть делимого израсходована. В этом случае необходимо поставить в частном двоичную запятую и «снимать» с делимого нули из его дробной части, которые в ней всегда находятся. Процесс полностью аналогичен делению «углом» привычных нам десятичных чисел:
|
,1 | |||||||
Проверка данных вычислений приведена в предыдущем примере.
|
|
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!