函式名稱:_control87
頭檔:<float.h>
函式原型: unsigned int _control87(unsigned int new,unsigned int mask);
功能: 取得並設定浮點控製字
參數: unsigned int new 新的控製字位值, 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;}
運行結果:
original:0x8001f0.1*0.1=1.000000000000000e-00224-bit:0xa001f0.1*0.1=9.999999776482582e-003*0.1=9.999999776482582e-003