Обзор
Вы можете использовать команды арифметики с плавающей точкой для выполнения следующих операций над двумя 32-битными числами IEEE с плавающей точкой:
- сложение
- вычитание
- умножение
- деление
32-битные числа с плавающей точкой IEEE относятся к типу данных REAL. Используя арифметику с плавающей точкой, вы можете выполнять следующие операции с одним 32–битным числом IEEE с плавающей точкой:
- образование квадрата (SQR) и квадратного корня (SQRT) числа с плавающей точкой
- образование натурального логарифма (LN) числа с плавающей точкой
- образование экспоненциального значения (EXP) с основанием e (= 2.71828...)
- образование следующих тригонометрических функций угла, представленного в виде 32-битного числа IEEE с плавающей точкой:
- образование синуса (SIN) числа с плавающей точкой и образование арксинуса (ASIN) числа с плавающей точкой
- образование косинуса (COS) числа с плавающей точкой и образование арккосинуса (ACOS) числа с плавающей точкой
- образование тангенса (TAN) числа с плавающей точкой и образование арктангенса (ATAN) числа с плавающей точкой
Сложение чисел с плавающей точкой
Состояние сигнала 1 на разрешающем входе (EN) активизирует команду Сложение чисел с плавающей точкой. Эта команда складывает входы IN1 и IN2. Результат может быть опрошен на выходе OUT. Если результат лежит вне допустимого диапазона для чисел с плавающей точкой (переполнение или потеря значимости), то биты OV и OS слова состояния имеют значение 1, а ENO - значение 0. Информацию по оценке этих индикаторов в слове состояния вы найдете в разделе 7.6.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN1 | REAL | I, Q, M, D, L | Первое слагаемое | |
IN2 | REAL | I, Q, M, D, L | Второе слагаемое | |
OUT | REAL | I, Q, M, D, L | Сумма |
Пример и биты слова состояния сложения чисел с плавающей точкой
Вычитание чисел с плавающей точкой
Данная команда идентичная предыдущей, разница в том, что команда вычитает вход IN2 из IN1. Информацию по оценке этих индикаторов в слове состояния вы найдете в разделе 7.6.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN1 | REAL | I, Q, M, D, L | Уменьшаемое | |
IN2 | REAL | I, Q, M, D, L | Вычитаемое | |
OUT | REAL | I, Q, M, D, L | Разность |
Пример и биты слова состояния вычитания чисел с плавающей точкой
Умножение чисел с плавающей точкой
Команда Умножение чисел с плавающей точкой, умножает вход IN1 на IN2. Во всем остальном команда идентична предыдущим. Информацию по оценке этих индикаторов в слове состояния вы найдете в разделе 7.6.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN1 | REAL | I, Q, M, D, L | Первый сомножитель | |
IN2 | REAL | I, Q, M, D, L | Второй сомножитель | |
OUT | REAL | I, Q, M, D, L | Произведение |
Пример и биты слова состояния умножения чисел с плавающей точкой
Деление чисел с плавающей точкой
Данная команда делит вход IN1 на IN2. Во всем остальном команда идентична предыдущим. Информацию по оценке этих индикаторов в слове состояния вы найдете в разделе 7.6.
Блок LAD | Параметры | Тип данных | Область памяти | Описание |
![]() |
EN | BOOL | I, Q, M, D, L | Разрешающий вход |
ENO | BOOL | I, Q, M, D, L | Разрешающий выход | |
IN1 | REAL | I, Q, M, D, L | Делимое | |
IN2 | REAL | I, Q, M, D, L | Делитель | |
OUT | REAL | I, Q, M, D, L | Частное |
Пример и биты слова состояния деления чисел с плавающей точкой
Оценка битов слова состояния после выполнения операций с плавающей точкой
Математические операции оказывают влияние на следующие биты слова состояния:
- CC 1 и CC 0
- OV
- OS
Тире (-) в столбце битов таблицы означает, что соответствующий бит не испытывает воздействия со стороны результата операции.
Состояние сигнала битов слова состояния для результатов операций с плавающей точкой, находящихся в допустимом диапазоне значений
Допустимый диапазон для результата операции над числами с плавающей точкой (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 | Арктангенс числа |
Пример и биты слова состояния тригонометрических функций
<--Предыдущая статья | Следующая статья--> |