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


6.1 Сложение чисел с фиксированной запятой


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

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

При этом в зависимости от знаков слагаемых возможны четыре случая:

1) Х1 > 0, Х2 > 0, Х3 = Х1 + Х2 > 0;

2) Х1 > 0, Х2 < 0, Х3 = Х1 + Х2 > 0;

3) Х1 > 0, Х2 < 0, Х3 = Х1 + Х2 < 0;

4) Х1 < 0, Х2 < 0, Х3 = Х1 + Х2 < 0;

6.2 Сложение чисел с плавающей запятой


Если имеются два числа в нормальной форме: Х1 = m1 10P1 и Х2 = m2 10P2 , то для того чтобы их можно было сложить, нужно предварительно привести их к одному и тому же порядку Робщ, т. е. преобразовать одно из слагаемых, например, первое следующим образом:

Х1 = m1 10P1 = m1* 10P1 = m1* 10Pобщ

Далее можно вынести степень основания системы за скобки и произвести сложение мантисс: Х1 + Х2= m1* 10Pобщ + m2 10Pобщ. = (m1* + m2 ) 10Pобщ

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

Машинная операция сложения чисел в нормальной форме распадается таким образом, на 4 этапа:

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

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

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

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


6.3 Умножение чисел с фиксированной запятой


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

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

0  0 = 0

0  1 = 1

1  0 = 1

1  1 = 0

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

Умножение производится по обычным правилам арифметики согласно двоичной таблицы умножения.

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


6.4 Умножение чисел с плавающей запятой


Если имеем два сомножителя, заданные в нормальной форме Х1 = m1 10P1 и Х2=m210P2, то их произведение определяется следующим образом:

Х1 Х2 = m1 m2 10P1+P2.

Анализ этого соотношения показывает, что умножение чисел в машинах с плавающей запятой производится в четыре этапа:

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

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

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

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



Информация о работе «Системы счисления»
Раздел: Цифровые устройства
Количество знаков с пробелами: 95849
Количество таблиц: 35
Количество изображений: 321

Похожие работы

Скачать
32294
6
4

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

Скачать
11095
1
1

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

Скачать
54749
16
10

... последовательности 0 и 1. Например целое неотрицательное число А2=Т 111100002 будет храниться в ячейке следующим образом: 1 1 1 1 0 0 0 0 Значит, мы можем записать все числа от 0 до 255 в двоичной системе счисления в 1 ячейке памяти. 2.2 Представление чисел в компьютере   Целые числа в компьютере хранятся в ячейках памяти, в этом случае каждому разряду ячейки памяти соответствует ...

Скачать
24900
1
0

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

0 комментариев


Наверх