اسم الوظيفة : _control87
ملف الرأس : <float.h>
النموذج الأولي للوظيفة : unsigned int _control87(unsigned int new,unsigned int Mask);
الوظيفة : الحصول على كلمات التحكم بالفاصلة العائمة وتعيينها
المعلمات : قيمة بت كلمة التحكم الجديدة غير الموقعة int، يقوم قناع int غير الموقع بتعيين قناع بت كلمة التحكم الجديدة
قيمة الإرجاع : إرجاع كلمة تحكم النقطة العائمة
مثال على البرنامج : حساب حاصل ضرب دقتين مزدوجتين تحت كلمات تحكم مختلفة
#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