|
| ||||||||||||
| ||||||||||||
FPGETROUND(3C)НАЗВАНИЕ СИНТАКСИС
#include <ieeefp.h>
typedef enum fp_rnd {
FP_RN = 0, /* округление до ближайшего */
FP_RP = 1, /* округление до большего */
FP_RM = 2, /* округление до меньшего */
FP_RZ = 3 /* округление до целого */
} fp_rnd;
fp_rnd fpsetround ( );
fp_rnd fpsetround (rnd_dir)
fp_rnd rnd_dir;
#define fp_exept int
#define FP_X_INV 0x10 /* некорректная операция */
#define FP_X_OFL 0x08 /* переполнение */
#define FP_X_UFL 0x04 /* потеря значимости */
#define FP_X_DZ 0x02 /* деление на нуль */
#define FP_X_IMP 0x01 /* потеря точности */
fp_exept fpgetmask ( );
fp_exept fpsetmask (mask);
fp_exept mask;
fp_exept fpgetsticky ( );
fp_exept fpsetsticky (sticky);
fp_exept sticky;
ОПИСАНИЕ Функция fpgetround( ) возвращает текущий режим округления. Функция fpsetround( ) устанавливает новый режим округления и возвращает предыдущий режим. Функция fpgetmask( ) возвращает текущую маску для обработки исключительных ситуаций. Функция fpsetmask( ) устанавливает новую маску и возвращает предыдущее значение маски. Функция fpgetsticky( ) возвращает текущие значения бит навязчивости. Функция fpsetsticky( ) устанавливает (или сбрасывает) биты навязчивости и возвращает предыдущие значения. СМ. ТАКЖЕ ПРЕДОСТЕРЕЖЕНИЯ Для преобразования числа с плавающей точкой в целое в таких языках программирования как C и Фортран-77 необходимо установить режим округления до целого. ОГРАНИЧЕНИЯ Аналогично, перед вызовом fpsetmask( ) необходимо сбросить взведенные биты маски. |
|
CITForum © 1997–2025