|
|
|
|
Операции с плавающей запятой
Обработка преобразований между десятичными и двоичными числами в мире плавающей запятой в основном является делом масштабирования. Конечно, мы можем использовать команды FBLD и FBSTP для
ввода и вывода из NPX базисных чисел, но затем нам необходимо дополнить эти числа числом десять в некоторой степени. Для того,
чтобы понять, как выполняются эти операции, давайте вспомним некоторые основные математические равенства, связанные с преобразованием чисел.
1. 10(X) = 2(X * log 10 по основанию 2)
2. E(X) = 2(X * log E по основанию 2)
3. Y(X) = 2(X * log Y по основанию 2)
4. lоg X = log 2 * log X по основанию 2
5. log X по основанию E = (log 2 по основанию E) *
(log X по основанию 2)
|
К счастью, NPX знает, как вычислять некоторые из этих операций и имеет константы для других. Для преобразования чисел нам
необходимо выполнить следующие операции:
A. F2XM1 вычисляет 2(X) - 1
B. FLDL2T константа log 10 по основанию 2
C. FLDL2E константа log E по основанию 2
D. FYL2X вычисляет Y * log X по основанию 2
E. FLDLG2 константа log 2
F. FLDLN2 константа log 2 по основанию E
|
Мы знаем, что как только загружается целое число, мы должны
или умножить его на степень десяти для числа с положительной экспонентой по основанию десять, или разделить его на степень десяти
для числа с отрицательной экспонентой по основанию десять. Из
правила 1 видно, что первым шагом к получению степени числа 10
является возведение числа 2 в некоторую степень Х.
|
|