КОМПЬЮ́ТЕРНАЯ АРИФМЕ́ТИКА
-
Рубрика: Технологии и техника
-
-
Скопировать библиографическую ссылку:
КОМПЬЮ́ТЕРНАЯ АРИФМЕ́ТИКА, технич. дисциплина, предметом исследования которой является представление чисел в ЭВМ, алгоритмы вычисления элементарных функций, арифметич. операций и др., а также реализующая их аппаратура.
К. а. активно развивается, что обусловлено совершенствованием микроэлектроники (напр., значительно уменьшилось время переключения транзистора). Одно из осн. направлений К. а. – аппаратная реализация алгоритмов, которые прежде осуществлялись программным способом. Напр., раньше во многих ЭВМ операция деления выполнялась спец. подпрограммой, теперь почти во всех ЭВМ есть устройство деления и извлечения квадратного корня; вычисление элементарных функций также всё чаще реализуется аппаратными средствами. Это позволяет значительно ускорить (иногда в тысячи раз) вычисления.
В совр. ЭВМ применяется двоичная система счисления (см. Информации представление в ЭВМ). Для представления чисел в ЭВМ обычно используют прямой, обратный и дополнительный коды. Во всех кодах значение знакового разряда положительного числа равно 0, а отрицательного 1. Прямой код числа представляет собой знак числа (знаковый разряд) и модуль (абсолютную величину) числа. Представление положительных чисел во всех кодах совпадает. Обратный код отрицательного числа имеет 1 в качестве знака и поразрядную инверсию (замену всех нулей единицами и всех единиц нулями) модуля в остальных разрядах. Дополнит. код отрицательного числа равен обратному коду этого числа, к младшему разряду которого прибавлена 1. В К. а., как правило, используются два способа представления чисел: с фиксированной и плавающей запятой. Числа с фиксир. запятой – это числа, у которых запятая, отделяющая целую часть от дробной, стоит на постоянном, т. е. фиксированном, месте (обычно справа от младшего разряда числа). В науч. и технич. вычислениях используются как очень большие, так и очень маленькие числа, т. е. требуется большой диапазон представления чисел, который не могут обеспечить числа с фиксир. запятой. В этом случае применяют числа с плавающей запятой. Число с плавающей запятой представляется в виде: $$N=(-1)^S·M·2^E, $$где $N $ – величина числа, $S$ – знак числа, $M $ – мантисса, $E$ – порядок. Если $S=0 $, то число положительное, если $S=1 $, то число отрицательное. Обычно на мантиссу накладывается ограничение $1\leq M<2 $; мантисса, удовлетворяющая этому условию, называется нормализованной. Порядок числа представляется со смещением на половину диапазона (напр., у чисел с плавающей запятой формата 64 разряда порядок занимает $11 $ двоичных разрядов, к порядку всегда прибавляется смещение $1023=2^{10}-1 $); смещённый порядок $E $ – всегда положительное число.
Вычисления с плавающей запятой приблизительны, поскольку младшие разряды результата, которым не хватает места в разрядной сетке ЭВМ, отбрасываются и производится округление. При вычислениях ошибка округления накапливается и может стать достаточно большой. Интервальная арифметика (разрабатывающая методы интервальных вычислений) в качестве результата операции даёт не число, а интервал между двумя числами, содержащий точный результат, который можно было бы получить, если бы младшие разряды результата не терялись. Если интервал, в котором заключён результат, очень большой, то выбранный алгоритм имеет недостаточную точность.
Раньше результаты одной и той же программы, производящей вычисления с плавающей запятой, на ЭВМ разных семейств различались, поскольку семантика операций с плавающей запятой не была строго описана в системе команд ЭВМ (ЭВМ отличались по числу разрядов порядка и мантиссы, способу их кодировки, основанию системы счисления, способу округления и др.). В связи с этим в 1985 в США был принят стандарт на двоичную арифметику с плавающей запятой ANSI/IEEE Standard No. 754. Его принятие значительно улучшило переносимость программ (напр., с ЭВМ одной платформы на ЭВМ др. платформы), повысило точность вычислений. С кон. 20 в. большинство выпускаемых ЭВМ соответствует этому стандарту.
При хранении, передаче и обработке информации в ЭВМ возможно появление ошибки. Разработаны коды, обнаруживающие ошибки, и коды, которые исправляют ошибки (напр., т. н. коды Хэмминга). На основе элементарной теории чисел в К. а. разрабатываются алгоритмы и аппаратура шифровки и дешифровки информации для криптографии.