Nombre de la función : _control87
Archivo de encabezado : <float.h>
Prototipo de función : int unsigned _control87 (int unsigned new, máscara int unsigned);
Función : Obtener y configurar palabras de control de punto flotante
Parámetros : unsigned int nuevo valor de bit de la nueva palabra de control, unsigned int mask establece la máscara del nuevo bit de la palabra de control
Valor de retorno : Devuelve una palabra de control de punto flotante
Ejemplo de programa : Calcular el producto de dos precisiones dobles bajo diferentes palabras de control
#include<stdio.h>#include<float.h>intmain(){doublea=0.1;printf(original:0x%4xn,_control87(0,0));// Genera la palabra de control original printf(% 1.1f*%1.1f=%.15en,a,a ,a*a);// Calcular el producto de dos precisiones dobles // Generar la palabra de control de 24 bits printf(24-bit:0x%4xn,_control87(_PC_24,_MCW_PC));printf(%1.1f * %1.1f=%.15en,a,a,a*a);//Calcular el producto de dos de doble precisión return0;}
Resultados de ejecución:
original:0x8001f0.1*0.1=1.000000000000000e-00224-bit:0xa001f0.1*0.1=9.999999776482582e-003