Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Арифметика ответы 2 семак.docx
Скачиваний:
0
Добавлен:
14.12.2025
Размер:
6.14 Mб
Скачать

6) Арифметика чисел с плавающей запятой. Погрешности представления.

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

Математически это записывается так:

(-1)^3 × M × BE, где 3 — знаковый бит(0/1), B-основание, E — порядок, а M — мантисса.

Операции: сложение, вычитание, умножение, деление

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

  1. Сравниваются порядки: выравнивается число с меньшим порядком.

  2. Мантиссы приводятся к общему порядку.

  3. Складываются мантиссы.

  4. Результат нормализуется.

  5. Если мантисса переполнилась — происходит сдвиг и изменение порядка.

Погрешности:

  • Потеря точности при разнице в порядках.

  • Потеря значащих цифр.

Пример:

А = 1.000000 А -> = 0.010000 (на 2)

В = 0.010000

А+В

Умножение:

  1. Мантиссы перемножаются.

  2. Порядки складываются.

  3. Результат нормализуется и округляется.

Погрешности: возможное переполнение порядка.

Деление:

1. Вычитание порядков.

2. Деление мантисс.

3. Нормализация и округление.

Погрешности: переполнение

7) Умножение двоичных чисел.

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

Умножение в двоичной системе производится по тому же принципу что и в десятичной системе счисления, при этом используется таблица двоичного умножения: 0 * 0 = 0                     0 * 1 = 0                     1 * 0 = 0                     1 * 1 = 1

Пример

Умножение младшими разрядами вперед:

Умножение младшими разрядами вперёд выполняется за n циклов по числу разрядов сомножителей. Каждый цикл состоит из двух тактов: в первом анализируется младший разряд регистра множителя. Если он равен 1, к содержимому сумматора прибавляется содержимое регистра множимого; если 0 — сложение пропускается. Во втором такте сумматор и регистр множителя сдвигаются вправо на один разряд, при этом сдвиг сумматора логический — в освободившийся старший разряд заносится 0. Это важно, так как при использовании модифицированного кода при переполнении старший разряд остаётся равным 0. После всех n циклов в сумматоре получается произведение сомножителей. Затем выполняется округление прибавлением единицы в дополнительный разряд, результат при необходимости нормализуется и ему присваивается знак.

Умножение старшими разрядами вперед:

Множимое A загружается в регистр RM1, множитель B — в RM2, сумматоры SMP и SM обнуляются. RM2 сдвигается вправо до первой единицы. Затем проверяется старший бит RM1: если он равен 1, к сумматору SM прибавляется RM2; если 0 — сложение пропускается. После этого RM1 сдвигается влево, а его младший бит заполняется старшим битом из SM. Далее проверяется счётчик сдвигов: если он равен нулю, к результату SM добавляется остаток 2^–(n+1) для корректировки; если нет — процесс повторяется. После завершения всех сдвигов результат умножения находится в сумматоре SM.