Это означает, что даже если
0 <= X < PI/4
Это означает, что даже если угол и меньше 2*PI, мы должны
уменьшить его еще, чтобы он удовлетворял ограничениям команды
FPTAN. К счастью, если исходный угол уменьшен до значения,
меньшего PI/4, все еще можно определить верное значение
тригонометрических функций. Чтобы это сделать, надо знать, в каком
месте исходного диапазона от 0 до 2*PI находился исходный угол.
Нужное уменьшение угла выполняет команда FPREM. Она не только
вычисляет остаток, но и три младших бита частного, определяемого в
течение процесса поиска остатка. Эти три бита команда записывает в
слово состояния. Следовательно, хотя мы и уменьшили угол до
значения одной восьмой исходного диапазона, все же можно определить
октант, в который попадет угол. Зная его, можно найти формулу
вычисления синуса с помощью тригонометрических преобразований.
Таблица на Фиг. 7.28 показывает связь между исходным октантом и
методом вычисления синуса угла. В таблице предполагается, что
число R - это остаток от уменьшения исходного угла до значения
меньше PI/4. Номер октанта появляется в разрядах C3 = C1 = C0
после выполнения команды FPREM.
С помощью этой таблицы мы можем определить формулу вычислений,
применяемую в каждом случае выполнения программы. После загрузки
значения угла в радианах программа загружает число и делит его на
4, чтобы использовать в команде FPREM. В этот момент
"захватывается" слово состояния. Если процесс поиска остатка не
завершился на этом единственном шаге, это означает, что исходный
угол был больше 2**64. Следовательно, его значение настолько больше
максимально возможного при вычислениях тригонометрических функций,
что мы отбрасываем это число, как слишком большое. Этого не
происходит со значениями, выбранными в примере, но здесь для
иллюстрации введена такая проверка.
Октанты
C0 C3 C1 Диапазон SIN(X) = :
Содержание Назад Вперед