Имя функции : _control87
Заголовочный файл : <float.h>
Прототип функции : unsigned int _control87(unsigned int new, unsigned int Mask);
Функция : Получить и установить управляющие слова с плавающей запятой.
Параметры : unsigned int новое значение бита нового управляющего слова, unsigned int Mask устанавливает маску нового бита управляющего слова.
Возвращаемое значение : возвращает управляющее слово с плавающей запятой.
Пример программы : вычисление произведения двух чисел двойной точности под разными управляющими словами.
#include<stdio.h>#include<float.h>intmain(){doublea=0.1;printf(original:0x%4xn,_control87(0,0));//Выводим исходное управляющее слово printf(% 1.1f*%1.1f=%.15en,a,a ,a*a);//Вычисляем произведение двух чисел двойной точности//Выводим 24-битное управляющее слово printf(24-bit:0x%4xn,_control87(_PC_24,_MCW_PC));printf(%1.1f * %1.1f=%.15en,a,a,a*a);//Вычисляем произведение двух чисел двойной точности return0;}
Результаты запуска:
оригинал: 0x8001f0.1*0.1=1.000000000000000e-00224-бит: 0xa001f0.1*0.1=9.999999776482582e-003