के साथ फ्लोट की प्रेसिजन सभी जानते हैं कि float
के मान को आउटपुट करने के लिए आप printf
का उपयोग करते समय सीमित परिशुद्धता रखते हैं।
हालांकि, वहाँ उत्पादन में शुद्धता को बढ़ाने के लिए एक चाल है, के रूप में इस उदाहरण दिखाता है:printf
#include <stdio.h>
int main()
{
float f = 1318926965; /* 10 random digits */
printf("%10.f\n", f); /* prints only 8 correct digits */
printf("%10d\n", *(int*)&f); /* prints all digits correctly */
return 0;
}
और मेरे सवाल का, यही कारण है कि लोगों को और अधिक अक्सर इस चाल का उपयोग नहीं करते?
क्योंकि संभावित रूप से अपरिभाषित व्यवहार खराब है। (संपादित करें: तकनीकी रूप से यह अपरिभाषित व्यवहार नहीं हो सकता है, क्योंकि मुझे यकीन नहीं है कि मानक इसके बारे में क्या कहता है। अंतहीनता आपको इसके साथ काट सकती है।) – Corbin
+1 अप्रैल के पहले मजाक के लिए +1! – Henrik
यह स्पष्ट रूप से मुझे x.x – Corbin