ОбзорВы можете использовать команды арифметики с плавающей точкой для выполнения следующих операций над двумя 32-битными числами IEEE с плавающей точкой:
32-битные числа с плавающей точкой IEEE относятся к типу данных REAL. Используя арифметику с плавающей точкой, вы можете выполнять следующие операции с одним 32–битным числом IEEE с плавающей точкой:
Сложение чисел с плавающей точкойСостояние сигнала 1 на разрешающем входе (EN) активизирует команду Сложение чисел с плавающей точкой. Эта команда складывает входы IN1 и IN2. Результат может быть опрошен на выходе OUT. Если результат лежит вне допустимого диапазона для чисел с плавающей точкой (переполнение или потеря значимости), то биты OV и OS слова состояния имеют значение 1, а ENO - значение 0. Информацию по оценке этих индикаторов в слове состояния вы найдете в разделе 7.6.
Вычитание чисел с плавающей точкойДанная команда идентичная предыдущей, разница в том, что команда вычитает вход IN2 из IN1. Информацию по оценке этих индикаторов в слове состояния вы найдете в разделе 7.6.
Умножение чисел с плавающей точкойКоманда Умножение чисел с плавающей точкой, умножает вход IN1 на IN2. Во всем остальном команда идентична предыдущим. Информацию по оценке этих индикаторов в слове состояния вы найдете в разделе 7.6.
Деление чисел с плавающей точкойДанная команда делит вход IN1 на IN2. Во всем остальном команда идентична предыдущим. Информацию по оценке этих индикаторов в слове состояния вы найдете в разделе 7.6.
Оценка битов слова состояния после выполнения
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Допустимый диапазон для результата операции над числами с плавающей точкой (32 бита) |
Биты слова состояния
|
|||
| CC1 | CC0 | OV | OS | |
| +0, -0 (ноль) | 0 | 0 | 0 | - |
| –3.402823E+38 < результат
< –1.175494E–38 (отрицательное число) |
0 | 1 | 0 | - |
| +1.175494E-38 < результат
< 3.402823E+38 (положительное число) |
1 | 0 | 0 | - |
Состояние сигнала битов слова состояния для результатов операций с плавающей точкой, находящихся вне допустимого диапазона значений
| Недопустимый диапазон для результата операции над числами с плавающей точкой (32 бита) |
Биты слова состояния
|
|||
| CC1 | CC0 | OV | OS | |
| –1.175494E–38 < результат < –1.401298E–45 (отрицательное число) потеря значимости |
0 | 0 | 1 | 1 |
| +1.401298E–45 < результат
< +1.175494E–38 (положительное число) потеря значимости |
0 | 0 | 1 | 1 |
| результат < –3.402823E+38 (отрицательное число) переполнение |
0 | 1 | 1 | 1 |
| результат > 3.402823E+38 (положительное число) переполнение |
1 | 0 | 1 | 1 |
| результат < –3.402823E+38 или результат > +3.402823E+38 не является числом с плавающей точкой |
1 | 1 | 1 | 1 |
С помощью команды Образование абсолютного значения числа с плавающей точкой вы можете получить абсолютное значение числа с плавающей точкой.
| Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
| ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
| IN | REAL | I, Q, M, D, L | Входная величина: вещественное число | |
| OUT | REAL | I, Q, M, D, L | Выходная величина: абсолютное значение вещественного числа |
С помощью команды Образование квадрата числа с плавающей точкой вы можете возвести в квадрат число с плавающей точкой. С помощью команды Образование квадратного корня числа с плавающей точкой вы можете извлечь квадратный корень из числа с плавающей точкой. Эта команда выводит положительный результат, если операнд больше, чем “0”. Единственное исключение: квадратный корень из - 0 равен –0. Информацию по оценке этих индикаторов в слове состояния вы найдете в разделе 7.6.
| Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
| ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
| IN | REAL | I, Q, M, D, L | Число | |
| OUT | REAL | I, Q, M, D, L | Квадрат числа |
| Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
| ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
| IN | REAL | I, Q, M, D, L | Число | |
| OUT | REAL | I, Q, M, D, L | Квадратный корень числа |
С помощью данной команды можно образовать натуральный логарифм числа с плавающей точкой.
| Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
| ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
| IN | REAL | I, Q, M, D, L | Число | |
| OUT | REAL | I, Q, M, D, L | Натуральный логарифм числа |
С помощью команды Образование экспоненциального значения числа с плавающей точкой вы можете образовать экспоненциальное значение числа с плавающей точкой с основанием e (= 2.71828...).
| Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
| ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
| IN | REAL | I, Q, M, D, L | Число | |
| OUT | REAL | I, Q, M, D, L | Экспонента числа |
С помощью следующих команд вы можете образовать тригонометрические функции углов, представленных в виде чисел с плавающей точкой (32 бита, IEEE).
| Команда | Пояснение |
| SIN | Образовать синус угла, заданного в радианах. |
| ASIN | Образовать арксинус числа с плавающей точкой. Результатом
является угол, заданный в радианах. Это значение находится в следующем
диапазоне: -¶/ 2 =<арксинус=<+¶/ 2, где ¶= 3.14... |
| COS | Образовать косинус числа с плавающей точкой, представляющего угол, заданный в радианах. |
| ACOS | Образовать арккосинус числа с плавающей точкой. Результатом
является угол, заданный в радианах. Это значение находится в следующем
диапазоне: 0 =<арккосинус =<+¶, где ¶ = 3.14... |
| TAN | Образовать тангенс числа с плавающей точкой, представляющего угол, заданный в радианах. |
| ATAN | Образовать арктангенс числа с плавающей точкой. Результатом
является угол, заданный в радианах. Это значение находится в следующем
диапазоне: -¶ / 2 =<арктангенс=< + ¶ / 2, где¶ = 3.14... |
| Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
| ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
| IN | REAL | I, Q, M, D, L | Число | |
| OUT | REAL | I, Q, M, D, L | Синус числа |
| Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
| ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
| IN | REAL | I, Q, M, D, L | Число | |
| OUT | REAL | I, Q, M, D, L | Арксинус числа |
| Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
| ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
| IN | REAL | I, Q, M, D, L | Число | |
| OUT | REAL | I, Q, M, D, L | Косинус числа |
| Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
| ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
| IN | REAL | I, Q, M, D, L | Число | |
| OUT | REAL | I, Q, M, D, L | Арккосинус числа |
| Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
| ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
| IN | REAL | I, Q, M, D, L | Число | |
| OUT | REAL | I, Q, M, D, L | Тангенс числа |
| Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
| ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
| IN | REAL | I, Q, M, D, L | Число | |
| OUT | REAL | I, Q, M, D, L | Арктангенс числа |
| <--Предыдущая статья | Следующая статья --> |