Выполнение арифметических операций с нормализованными числами — в помощь студенту

К началу выполнения арифметического действия операнды операции помещаются в соответствующие регистры АЛУ.

alt

Узнай стоимость своей работы

Бесплатная оценка заказа!

Оценим за полчаса!

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

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

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

Пример. Сложить двоичные нормализованные числа 0,10111×2–1 и 0,11011×210.

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

Выполнение арифметических операций с нормализованными числами - в помощь студенту

Пример. Выполнить вычитание двоичных нормализованных чисел 0,10101×210 и 0,11101×21

alt

Узнай стоимость своей работы

Бесплатная оценка заказа!
Читайте также:  Учет операций по расчетным счетам - в помощь студенту

Оценим за полчаса!

Разность порядков уменьшаемого и вычитаемого здесь равна единице, поэтому перед вычитанием мантисса второго числа сдвигается на один разряд вправо

Выполнение арифметических операций с нормализованными числами - в помощь студенту

  • Результат получился не нормализованным, поэтому его мантисса сдвигается влево на два разряда с соответствующим уменьшением порядка на две единицы: 0,1101×20.
  • При умножении двух нормализованных чисел их порядки складываются, а мантиссы перемножаются.
  • Пример. Выполнить умножение двоичных нормализованных чисел:

Выполнение арифметических операций с нормализованными числами - в помощь студенту

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

Пример. Выполнить деление двоичных нормализованных чисел:

Выполнение арифметических операций с нормализованными числами - в помощь студенту

Использование представления чисел с плавающей точкой существенно усложняет схему арифметико-логического устройства.

Основные понятия алгебры логики. Элементарные логические операции

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

Основное понятие булевой алгебры — выказывание. Под простым высказыванием понимается повествовательное предложение, о котором можно сказать, истинно оно или ложно (третьего не дано).

Высказывания обозначаются латинскими буквами и могут принимать одно из двух значений: ЛОЖЬ (обозначим 0) или ИСТИНА (обозначим 1).

Например, содержание высказывания А: «дважды два равно четырем» истинно А = 1, а высказывание В: «три больше пяти» всегда есть ЛОЖЬ.

Два высказывания А и В называются равносильными, если они имеют одинаковые значения истинности, записывается А = В.

Сложное высказывание можно построить из простых с помощью логических операции: отрицания, конъюнкции, дизъюнкции, импликации и логических выражений, представляющих собой комбинации логических операций.

Это правило можно записать в виде следующей таблицы:

А

Такая таблица называется таблицей истинности.

Конъюнкцией (логическим умножением) двух высказываний А и В является новое высказывание С, которое истинно только тогда, когда истинны оба высказывания, записывается С = А Ù В или С = А & В (при этом говорят «С равно А и В»).

Примером такой операции может быть следующая: пусть высказывание А состоит в том, что «высота шкафа меньше высоты двери», событие В «ширина шкафа меньше ширины двери», событие С «шкаф можно внести в дверь, сели ширина шкафа меньше ширины двери И высота шкафа меньше высоты двери», т.е.

Читайте также:  Федеральное собрание российской федерации - в помощь студенту

данная операция применяется, если два высказывания связываются союзом И.

Таблица истинности этой операции, как следует из определения, имеет вид

Дизъюнкцией (логическим сложением) двух высказываний А и В является новое высказывание С, которое истинно, если истинно хотя бы одно высказывание. Записывается С = A Ú В (при этом говорят: «С равно А ИЛИ В).

Пример такой операции следующий: пусть высказывание А состоит в том, что «студент может добираться домой на автобусе», событие В «студент может добираться домой на троллейбусе», событие С «студент добрался домой на автобусе ИЛИ троллейбусе», т.е.

данная операция применятся, если два высказывания связываются союзом ИЛИ.

Таблица истинности такой операции следующая:

Импликацией двух высказываний А (А называется посылкой) и В (В называется заключением) является новое высказывание С, которое ложно только тогда, когда посылка истинна, а заключение ложно, записывается С = А ® В (при этом говорят: «из А следует В»).

Примером такой операции может быть любое рассуждение типа: если произошло событие А, то произойдет событие В, «если идет дождь, то на небе тучи». Очевидно, операция не симметрична, т.е.

из В ® А не всегда истинно, в нашем примере «если на небе тучи, то идет дождь» не всегда истинно.

  1. Таблица истинности импликации следующая:
  2. Импликация имеет следующие свойства:
  3. А ® В ≠ В ® А
  4. А ® А = 1
  5. 0 ® А = 1
  6. 1 ® А = А
  7. А ® 1 = 1

Эквиваленцией двух высказываний А и В является новое высказывание С, которое истинно только тогда, когда оба высказывания имеют одинаковые значения истинности, записывается С = А « В (.С = А º В). Примером такой операции может быть любое высказывание типа: событие А равносильно событию В.

  • Таблица истинности:
  • Эквиваленция имеет следующие свойства:
  • А « В = В « А
  • А « В = «
  • А « 1 = А

С помощью логических операций из простых высказываний (логических переменных и констант) можно построить логические выражения, которые также называются булевскими функциями. Например, С = (( Ú В) ® В) Ú А.

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

  1. Операции не являются независимыми; одни из них могут быть выражены через другие. Можно доказать с помощью таблиц истинности следующие равносильности:

Одну и ту же зависимость между логическими переменными можно выразить различными формулами. Поэтому важно иметь возможность приводить формулы с помощью эквивалентных преобразований к некоторому стандартному виду. Существует несколько стандартных форм, к которым приводятся логические выражения с помощью эквивалентных преобразований (формулы 1 — 23).

  • Первая из них – дизъюнктивная нормальная форма (ДНФ), имеет вид
  • A1 Ú А2 Ú … Ú Аn,
  • где каждое из составляющих высказываний есть конъюнкция простых высказываний и их отрицаний, например: В = ( & А2 & A3) Ú (А4 & А5).
  • Вторая – конъюнктивная нормальная форма (КНФ), имеет вид
  • A1 Ù А2 Ù … Ù Аn,
  • где каждое из составляющих есть дизъюнкция Гфостых высказываний и их отрицаний, например: В = ( Ú А2 Ú ) & (А4 Ú А5) & А6.

Задать булевскую функцию можно, определяя ее значения для всех наборов значений аргументов. Каждый аргумент может иметь два значения: 0 и 1, следовательно, n аргументов могут принимать 2n различных наборов. Пусть, например, булевская функция имеет три аргумента: Х1, X2, Х3. Общее число наборов 23 = 8. Зададим таблицу истинности функции, указав для каждого набора значение функции.

В комбинациях, где функция принимает значение 1, единица заменяется именем функции, а нуль — именем с отрицанием (т.е. комбинации 0 0 1 ставиться в соответствие выражение & &X3), все элементы соединяются знаками дизъюнкции.

Для рассматриваемого примера получим

F(X1, Х2, X3) = ( & &X3)Ú( & Х2 & X3)Ú(Х1 & &X3) Ú(Х1&Х2&X3).

Как нетрудно заметить, построенная функция удовлетворяет заданной таблице истинности. Функция представляет дизъюнктивную нормальную форму. Кроме того, в каждую группу дизъюнкций входят все аргументы функции. Такая ДНФ называется совершенной, а каждая группа дизъюнкций называется коституентой единицы.

Аналогично, для комбинаций, где функция принимает значение нуля, можно построить алгебраическую форму

F(X1, Х2, X3) = (Х1ÚХ2ÚX3) & (Х1Ú ÚX3) & ( ÚХ2ÚX3) & ( Ú ÚX3),

которая также удовлетворяет заданной таблице истинности и представляет собой конъюнктивою нормальную форму, в данном случае совершенную. Каждая конъюнкция называется конституентой нуля.

Источник: https://student2.ru/informatika/112370-arifmeticheskie-deystviya-nad-normalizovannymi-chislami/

Выполнение арифметических операций с нормализованными числами

 Наименование параметра  Значение
Тема статьи: Выполнение арифметических операций с нормализованными числами
Рубрика (тематическая категория) Технические дисциплины
Articles-ads

Перед выполнением арифметических действий операнды операции помещаются в соответствующие регистры арифметико-логического устройства.

Сложение и вычитание

Перед выполнением сложения и вычитания необходимо выполнение выравнивания порядков:

Мантисса числа с меньшим порядком сдвигается в своем регистре вправо на такое количество разрядов, ĸᴏᴛᴏᴩᴏᴇ равно разности порядков операндов. После каждого сдвига порядок увеличивается на 1 .

После выравнивания порядков чисел одноименные разряды располагаются в соответствующих разрядах обоих регистров, что позволяет выполнить дальнейшее сложение или вычитание мантисс. Если в результате выполнения операций получен не нормализованный результат, то ᴇᴦο необходимо нормализовать сдвигом мантиссы результата влево и одновременным уменьшением порядка результата.

Алгоритм выполнения сложения (вычитания) вещественных чисел A и B :

    • Выровнять порядки:
    • а) найти разность порядков riangle P=P_A-P_B ;
    • б) если riangle P >0 , то сдвинуть мантиссу числа B на riangle P разрядов вправо; если riangle P
  1. Выполнить сложение (вычитание) мантисс и произвести округление по n+1 -му разряду.

  2. Присвоить результату порядок большᴇᴦο числа.

  3. Нормализовать (если есть необходимость) мантиссу суммы (разности) с одновременным изменением порядка.

Пример 1

Сложить нормализованные числа {0,11011}_2cdot 2^8 и {0,10001}_2cdot 2^{10} .

    1. Выровняем порядки:
    2. а) разность порядков riangle P=8-10=-2 ;
    3. б) riangle P

    Выполнение арифметических операций с нормализованными числами - в помощь студенту

    Рисунок 1.

В результате получили нормализованное число с порядком большᴇᴦο числа.

Пример 2

Выполнить вычитание нормализованных чисел {0,10001}_2cdot 2^{10} и {0,11011}_2cdot 2^8 .

    • Выровняем порядки:
    • а) разность порядков riangle P=10-8=2 ;
    • б) riangle P >0 , по϶тому мантиссу второго числа сдвинем вправо на 2 разряда:

    Выполнение арифметических операций с нормализованными числами - в помощь студенту

    Рисунок 2.

В результате получили не нормализованное число, по϶тому ᴇᴦο мантиссу сдвигаем влево на 1 разряд и уменьшаем порядок на 1 : {0,101001}_2cdot 2^9 .

Пример 3

  1. Найти сумму чисел 32,875 и 4,5 в двоичнои̌ системе счисления.
  2. Переведем данные числа в двоичный код:
  3. Порядок 110 в двоичнои̌ системе счисления больше, чем 11 , по϶тому найдем разность между порядками: {110}_2-{11}_2={11}_2=3_{10} . Сдвигаем мантиссу второго числа (с меньшим порядком) вправо на 3 разряда:

[{32,875}_{10}={0010 0000,111}_2={0,100000111}_2cdot 2^{110};] [{4,5}_{10}={0000 0100,1}_2={0,1001}_2cdot 2^{11}.] [{0,1001}_2cdot 2^{11}={0,0001001}_2cdot 2^{110}.]

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

Выполнение арифметических операций с нормализованными числами - в помощь студенту

Рисунок 3.

В результате получили нормализованное число, т.е. никаких преобразований не требуется.

Умножение

При умножении двух нормализованных чисел их мантиссы умножаются и порядки складываются.

Алгоритм выполнения умножения нормализованных вещественных чисел A и B :

  1. Перемножить мантиссы чисел.

  2. Вычислить порядок произведения P_C=P_A+P_B .

  3. Нормализовать (если есть необходимость) мантиссу произведения (возможен сдвиг на 1 разряд влево с одновременным уменьшением порядка результата на 1 ).

Пример 4

Выполнить умножение нормализованных чисел:

[left({0,11101}_2cdot 2^{101}
ight)cdot left({0,1001}_2cdot 2^{11}
ight)={left(0,11101cdot 0,1001
ight)}_2cdot 2^{101+11}=] [={0,100000101}_2cdot 2^{1000}.]

Пример 5

Выполнить умножение чисел 3,5 и 8,25 в двоичнои̌ системе счисления.

Переведем данные числа в двоичный код:

[{3,5}_{10}={0000 0011,1}_2={0,111}_2cdot 2^{10}.] [{8,25}_{10}={0000 1000,01}_2={0,100001}_2cdot 2^{100};]

Получили нормализованный результат 0.11100111 cdot 2^{110} .

Деление

При выполнении деления двух нормализованных чисел мантисса делимого делится на мантиссу делителя и ᴎɜ порядка делимого вычитается порядок делителя. Если результат получают не нормализованный, то ᴇᴦο необходимо нормализовать.

При делении (если необходимо) меньшую мантиссу добавляют нулями.

Алгоритм выполнения деления нормализованных вещественных чисел A и B :

  1. Мантиссу делимого разделить на мантиссу делителя.

  2. Вычислить порядок частного P_C=P_A-P_B.

  3. Нормализовать мантиссу полученного числа (возможен сдвиг на 1 разряд вправо с одновременным увеличением порядка результата на 1 ).

Пример 6

Выполнить деление нормализованных чисел:

[left({0,1111}_2cdot 2^{100}
ight):left({0,101}_2cdot 2^{11}
ight)={left(0,1111:0,101
ight)}_2cdot 2^{100-11}=] [={1,1}_2cdot 2^1={0,11}_2cdot 2^{10}.]

Пример 7

  • Выполнить деление чисел 28,875 и 3,5 в двоичнои̌ системе счисления.
  • Переведем данные числа в двоичный код:
  • При делении меньшую мантиссу добавим нулями:
  • В результате получили не нормализованное число, по϶тому ᴇᴦο мантиссу сдвигаем вправо на 1 разряд и увеличиваем порядок на 1 : {1,00001}_2cdot 2^{11}={0,100001}_2cdot 2^{100} .

[{28,875}_{10}={0001 1100,111}_2={0,11100111}_2cdot 2^{101};] [{3,5}_{10}={0000 0011,1}_2={0,111}_2cdot 2^{10}.]

Выполнение арифметических операций с нормализованными числами — понятие и виды. Классификация и особенности категории «Выполнение арифметических операций с нормализованными числами»2018-2019.

  • — Выполнение арифметических операций с нормализованными числами

    Перед выполнением арифметических действий операнды операции помещаются в соответствующие регистры арифметико-логического устройства. Сложение и вычитаниеПеред выполнением сложения и вычитания необходимо выполнение выравнивания порядков:Мантисса числа с меньшим… [читать далее].

  • Источник: http://referatwork.ru/info-lections-55/tech/view/592_vypolnenie_arifmeticheskih_operaciy_s_normalizovannymi_chislami

    Большая Энциклопедия Нефти и Газа

    • Cтраница 1
    • РџРѕСЂСЏРґРѕРє выполнения арифметических операций задается круглыми скобками Рё приоритетом операций.  [1]
    • РџРѕСЂСЏРґРѕРє выполнения арифметических операций над восьмеричными числами нетрудно уяснить РёР· приведенных ниже РїСЂРё-1 меров.  [2]
    • РџРѕСЂСЏРґРѕРє выполнения арифметических операций над восьмеричными числами нетрудно уяснить РёР· приведенных ниже примеров.  [3]
    • РџРѕСЂСЏРґРѕРє выполнения арифметических операций РІ выраже — РЅРёСЏС…, РЅРµ содержащих СЃРєРѕР±РѕРє, определяется правилом рангов: СЃРЅР° чала выполняются РІСЃРµ возведения РІ степень, затем РІСЃРµ умножения Рё деления Рё РІ последнюю очередь — сложения Рё вычитания.  [4]
    Выполнение арифметических операций с нормализованными числами - в помощь студенту Цифровой РєРѕРґ машины РњРёРЅСЃРє-22.  [5]
    1. РџРѕСЂСЏРґРѕРє выполнения арифметических операций РІ значительной степени зависит РѕС‚ формы представления чисел РІ машине.  [6]
    2. РџРѕСЂСЏРґРѕРє выполнения арифметических операций РІ выражениях, РЅРµ содержащих СЃРєРѕР±РѕРє, определяется правилом рангов: сначала выполняются РІСЃРµ возведения РІ степень, затем РІСЃРµ умножения Рё деления Рё РІ последнюю очередь — сложения Рё вычитания.  [7]
    3. Рассмотрим РїРѕСЂСЏРґРѕРє выполнения арифметических операций РІ двоичной системе счисления над нормализованными числами.  [8]
    4. Чем определяется РїРѕСЂСЏРґРѕРє выполнения арифметических операций РІ выражении.  [9]
    5. Как РІРёРґРЅРѕ, выбор РїРѕСЂСЏРґРєР° выполнения арифметических операций РїСЂРё программировании формул для одноадресной машины имеет существенное значение.  [10]
    Выполнение арифметических операций с нормализованными числами - в помощь студенту Операторы присваивания. синтаксис.  [11]

    Трансляция Рё вычисление облегчаются тем, что РїРѕСЂСЏРґРѕРє выполнения арифметических операций однозначно определен синтаксисом АЛГОЛа. Напомним, что ( РїСЂРё отсутствии СЃРєРѕР±РѕРє) операция выполняется прежде всех; следующие РїРѕ РїРѕСЂСЏРґРєСѓ операции-это /, -, X Рё затем, -; внутри этих РґРІСѓС… РіСЂСѓРїРї операции равноправны Рё выполняются РІ РїРѕСЂСЏРґРєРµ написания слева направо. Эти соглашения позволяют указать простой алгоритм для вычисления арифметических выражений.  [12]

    Читайте также:  Форматы видеофайлов - в помощь студенту

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

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

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

    Любая ячейка запоминающего устройства может использоваться для хранения как числа ( СЂРёСЃ. 9 — 17 Р°-РІ), так Рё команды. РќР° СЂРёСЃ.

    9 — 17 Рі показано размещение РІ ячейке, содержащей 21 разряд, так называемой трехадресной команды.

    Адресами называются номера ячеек, РіРґРµ размещаются исходные числа, над которыми производятся те или иные арифметические операции, или номера ячеек, РІ которые направляются результаты выполнения операции. Адреса записываются РІ программе РІ РІРёРґРµ восьмеричных чисел Рё вводятся РІ ячейку РІ РІРёРґРµ двоичных чисел.  [13]

    Р’ арифметическом выражении обычно более или менее ясен бывает РїРѕСЂСЏРґРѕРє действий — РїРѕСЂСЏРґРѕРє выполнения арифметических операций.

    В то же время общепринятые правила, определяющие этот порядок, оставляют некоторую свободу.

    Этой СЃРІРѕР±РѕРґРѕР№ следует пользоваться, чтобы программа получилась более экономичной — чтобы РѕРЅР° содержала РїРѕ возможности меньше команд Рё занимала возможно меньшее количество рабочих ячеек — так называются ячейки, РІ которые помещаются промежуточные результаты вычислений. Как это делается, покажем РЅР° примерах.  [14]

    Менее очевидной Рё более интересной является модификация Краута, основанная РЅР° изменении РїРѕСЂСЏРґРєР° выполнения арифметических операций. Заметим, что РІ РѕСЃРЅРѕРІРЅРѕРј алгоритме Гаусса каждый элемент ац РІ процессе вычислений изменяется РјРЅРѕРіРѕ раз.  [15]

    Страницы:      1    2

    Источник: https://www.ngpedia.ru/id294018p1.html

    Выполнение арифметических операций над вещественными числами

    Использование в компьютере представления чисел в формате с плавающей запятой усложняет выполнение арифметических операций.

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

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

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

    Пусть a = ±0,ma × 2q(a), b = ±0,mb × 2q(b) — два нормализованных двоичных числа, и q(a)>q(b). Результатом их сложения или вычитания будет являться следующее выражение: c = (0,ma ±0,mb × 2q(a)-q(b)) ×2q(a).

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

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

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

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

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

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

    Пример: Предположим, что требуется сложить следующие числа: 0,23619 × 102 и 0,71824 × 10-1. Так как порядки у чисел различны, то перед сложением производится выравнивание порядков.

    Число с меньшим порядком преобразуется в число с порядком, равным порядку другого слагаемого (меньший порядок «приводится» к большему).

    В данном случае второе слагаемое будет преобразовано к виду 0,00071824 × 102, после чего выполняется сложение 102 × (0,23619 + 0,00071824) = 102 × 0,23690824 Результат получили с большим числом разрядов, чем вмещает ячейка, поэтому он округляется и записывается в памяти в виде 0,23691 × 102.

    Пример. Выполним сложение двух вещественных чисел: 0,23619 × 108 и 0,91824 × 108. Так как порядки у этих чисел одинаковы, то производить операцию выравнивания порядков не требуется. Операция сложения сводится к сложению мантисс.

    Результат — ненормализованное число 1,15443 × 108. Требуется выполнить нормализацию путем сдвига мантиссы вправо на один разряд, а затем округление результата, так как в мантиссе будет уже шесть цифр, а в ячейке памяти под мантиссу отведено их только пять.

    Ответ: 0,11544 × 109.

    Пример. Выполним сложение двух вещественных чисел, одно из которых достаточно большое по сравнению со вторым: 0,23619 × 103 и 0,91824 × 10-3. Так как порядки у этих чисел различны, то требуется произвести предварительную операцию их выравнивания. После выполнения выравнивания порядков складываться будут следующие числа:

    103 × 0,23619 + 103 × 0,00000091824 = 103 × 0,23619091824

    После сложения в мантиссе оказалось более пяти значащих цифр и при записи в ячейку памяти произойдет округление результата до 0,23619 × 103 . Получившееся число равно первому слагаемому, т. е. при выравнивании порядков все значащие цифры мантиссы второго слагаемого потеряны.

    Таким образом, мы получили результат, невозможный с точки зрения обычной математики: a + b = a при b>0.

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

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

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

    Выполнение арифметических операций с нормализованными числами - в помощь студенту

    Пример. Выполним умножение двух вещественных чисел: 0,23000 × 103 и 0,95000 × 107. При умножении двух вещественных чисел в представлении с плавающей запятой порядки складываются, а мантиссы перемножаются. В результате получим: 0,21850 × 1010.

    Это число не умещается в отведенный формат — в нашем формате под порядок отводится один разряд, а в получившемся числе порядок содержит две цифры.

    Выполнение операции умножения над этими числами приведет к прекращению выполнения программы в связи с ошибкой «переполнение порядка».

    Пример. Выполним деление двух вещественных чисел: 0,92000 × 104 и 0,30000 × 107. При делении вещественных чисел в представлении с плавающей запятой порядки вычитаются, а мантиссы делятся одна на другую.

    В нашем примере при делении мантисс мы имеем бесконечную периодическую дробь 0,92:0,3 = 3,0(6). Следовательно, при записи мантиссы результата произойдет ее округление.

    После нормализации результат будет иметь вид: 0,30667 × 10-2.

    Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:

    Источник: https://zdamsam.ru/a43354.html

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

    Главная » Информационные системы » Архитектура ЭВМ » 8. Выполнение арифметических операций в компьютере. Особенности выполнения операций над числами с плавающей запятой. Выполнение арифметических операций в компьютере

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

    Сложение 101110 Вычитание 101110
    001011 001011
    Результат 111001 Результат 100011
    Умножение 101101 Деление 101101
    х 101 /101
    101101 01
    000000 010
    101101 0101
    Результат 11100001 Результат 1001
    (произведение) (частное)

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

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

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

    Если при выполнении операции сложения мантисс возникает переполнение, то сумма мантисс сдвигается вправо на один разряд, а порядок суммы увеличивается на 1.

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

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

    Выполнение арифметических операций в двоичной системе счисления.

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

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

    Наиболее распространенным является дополнительный код. Для представления положительного числа в дополнительном коде, нужно записать два знаковых нуля и дописать само число.  Пример: А=+1011, АдопМ=00’1011. Чтобы снять кодировку положительного числа, два нуля заменяется знаком «+» и дописывается само число.

    При представлении отрицательного числа, записываются две единицы указывающие что число отрицательное, а затем значения в разрядах числа инвертируются и к младшему разряду прибавляется единица.                Пример: А=-1011,  АдопМ=11’0101.

    Для снятия кодировки с отрицательного числа, две единицы заменяются на знак «-», значения в разрядах инвертируются, и к младшему разряду прибавляется единица. При сложении и вычитании исходные числа выравниваются и представляются в дополнительном модифицированном коде. Затем выполняется поразрядное сложение (включая знаковые разряды).

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

    Выполнение арифметических операций с нормализованными числами - в помощь студенту

    Источник: https://it-iatu.ru/is/arhitektura-evm/vypolnenie_arifmeticheskih_operaciy_v_kompyutere_osobennosti_vypolneniya_operaciy_nad_chislami_s_plavayuschey_zapyatoy

    Ссылка на основную публикацию