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.
Анализ этого соотношения показывает, что умножение чисел в машинах с плавающей запятой производится в четыре этапа:
Определение знака произведения путем сложения по модулю два знаковых цифр мантисс сомножителей.
Перемножение модулей мантисс сомножителей по правилам для дробных чисел с фиксированной запятой.
Определение порядка произведения путем алгебраического сложения порядков сомножителей с использованием либо дополнительного, либо обратного модифицированного кода.
Нормализация результата и округление мантиссы в случае необходимости. Поскольку сомножители обязательно являются нормализованными числами, то де нормализация произведения возможна только на разряд и только вправо.
... умножать на основание новой системы счисления до тех пор, пока в новой дроби не будет нужного количества цифр, которое определяется требуемой точностью представления дроби. Правильная дробь в новой системе счисления записывается из целых частей произведений получающихся при последовательном умножении, причем первая целая часть будет старшей цифрой новой дроби. Рассмотрим в качестве примера ...
... представления в них достаточно больших чисел, так как при этом получается чрезвычайно громоздкая запись чисел или требуется очень большой алфавит используемых цифр. В ЭВМ применяют только позиционные системы счисления, в которых количественный эквивалент каждой цифры алфавита зависит не только от вида этой цифры, но и от ее местоположения в записи числа. Позиционные системы счисления В ...
... последовательности 0 и 1. Например целое неотрицательное число А2=Т 111100002 будет храниться в ячейке следующим образом: 1 1 1 1 0 0 0 0 Значит, мы можем записать все числа от 0 до 255 в двоичной системе счисления в 1 ячейке памяти. 2.2 Представление чисел в компьютере Целые числа в компьютере хранятся в ячейках памяти, в этом случае каждому разряду ячейки памяти соответствует ...
... рождения (год, число, месяц). 4. Подведение итогов. Домашнее задание. Учить записи в тетрадях. Заключение В данной курсовой работе было рассмотрена роль и место элективных курсов в предпрофильном обучении, а также разработан элективный курс не тему «система счисления» в предпрофильном обучении информатике. В первой части работы были выявлены главные особенности предпрофильной п
0 комментариев