Working With Real Numbers
Working With Real
Numbers
जब Float
प्रकार की संख्याओं को विशेष Formatting में Screen
पर प्रिंट करना होता है , तब हमें निम्न Syntax को printf() Function के Control String के साथ प्रयोग करना होता है |
For Real Numbers % w. p
f
For Exponent Numbers % w. p e यहां
Float प्रकार के Data
Type का Variable जब Screen पर Print करते हैं तो Print होने
वाला मान हमेशा दशमलव के बाद 6 अंकों तक एक मान को Print
करता है | साथ
ही Print
होने वाला हर मान यहां भी Right Justified रूप
में ही Print होता है |
यदि
हमें Left
Side से Value को Print करना
हो तो (Minus) – Flag का प्रयोग करना पड़ता है |
मानलो
x
= 12345.6789 है , तो निम्न अलग – अलग Statements निम्न Format में Output Print करेंगे |
printf(“%10.4f”,x);
ये Statement
कुल 10 अंकों का मान Output में Print करेगा और दशमलव के बाद के चार अंक Print
करगा |
यहां दशमलव के
बाद दो अंक प्रिंट होगे और Output में कुल दस अंक
Print हो सकेंगे |
जैसा कि चित्र
में दिखाया गया है कुल Space तो 10 Reserve
होंगे लेकिन Output में केवल आठ ही अंक Print
होंगे क्योंकि दशमलव के बाद केवल दो अंक ही प्रिंट होंगे |
इसलिए
आगे के दो अंक की जगह खली ही रहेगी |
printf(“% - 10.2f”,x);
यहां पर कुल दस Space
Reserve होंगे और दशमलव के बाद दो अंकों तक संख्या Print होगी शेष जगह खाली रहेगी , लेकिन यहां हमने – चिन्ह प्रयोग किया है इसलिए
संख्या Left Justified Print होगी |
देखें
निम्न चित्र
printf(“%f”,x);
यह Statement
की पूरी Value को Print करेगा
| चुंकि Float
Variable दशमलव के बाद 6 अकों तक के मान को Screen
पर Print करता है और यहां पर दशमलव के बाद
केवल 4 ही अंक है इसलिए बाकी के अंक Garbage Value को प्राप्त हो जाते हैं |
printf(“%*.*f”, w,p,x);
यह Statement
बिल्कुल उसी प्रकार है जिस प्रकार अन्य Statements है | फर्क
बस इतना ही है कि इस Statement में Width
व Precision को Control String के साथ ना लिख कर Variable के साथ लिखा जाता है |
इसमें
यदि w
की जगह 10 व P की जगह 2
लिख दिया जाए तो Output निम्नानुसार प्राप्त
होगा जो कि %10.2f के समान ही है |
जिस तरह Float
प्रकार के Variables को विभन्न Format में प्रिंट करते हैं , उसी तरह हम घातांक मानों को भी विभन्न प्रकार से
प्रिंट कर सकते हैं | जब
हमें संख्या को घातांक रूप में प्रिंट करना होता है तब मात्र f
के स्थान पर e का प्रयोग करते है और बाकी की
सारी Formatting समान राखी जाती है |
निम्नानुसार
कुछ उदाहरण बताये जा रहे हैं लेकिन इन्हीं उदाहरणों में मामूली से बदलाव करके
विभन्न Format
प्राप्त किए जा सकते है |
printf(“%e”,x);
यह Statement
निम्न Output देगा , क्योंकि सारा मान घातांक
रूप में बदल जाएगा |
printf(“%10.2e”,x);
यह Statement
दस Space Reserve करेगा और दशमलव के बाद दो
अंक दर्शाएगा |
printf(“%-10.2e”,x);
यह Statement
दस Space Reserve करेगा और दशमलव के बाद दो
अंक Print करेगा लेकिन print होने वाला
मान Left Justified Print होगा क्योंकि Control
String के साथ Flag का प्रयोग किया गया है |
printf(“%10.2e”, -x);
यह Statement दस Space Reserve करेगा और दशमलव के बाद के दो अंकों को Print करेगा साथ ही संख्या को ऋणात्मक Format में प्रिंट करेगा क्योंकि Variable के सामने Minus का चिन्ह प्रयोग किया गया है |
Program
#include<stdio.h>
main()
{
float x=12345.6789;
printf("\n x is %f",x);
printf("\n x is %e",x);
printf("\n x is %10.2f",x);
printf("\n x is %10.2e",x);
printf("\n x is %*.*f",10,2,x);
printf("\n x is %e", 10,2,x);
printf("\n x is %f",-x);
printf("\n x is %e",-x);
getch();
}
Output
x is 12345.678711
x is 1.234568e+004
x is 12345.68
x is 1.23e+004
x is 12345.68
x is 4.940656e-323
x is -12345.678711
x is -1.234568e+004
No comments