What is Floating Point Literal : जब हमें Computer में ऐसे Constant मान को Hold करना होता है, जिसमें दसमलव का प्रयोग होता है, तो इस प्रकार की संख्या को Floating Point Literal कहा जाता है। इस प्रकार की संख्या को Real Number Constant या वास्तविक स्थिरांक भी कहते हैं। C Language में इसे भी दो रूपों में Represent किया जाता है :
Fractional Form
जब किसी संख्या में स्थित दसमलव से पहले व दसमलव के बाद में दोनों ओर कम से कम एक अंक हो, तो इस प्रकार की संख्या को Fractional Form Floating Point Constant कहा जाता है। जैसे 12122.122, 11.22 आदि। इस प्रकार का Literal किसी Constant Identifier को Assign करने के लिए हमें निम्नानुसार Declaration करना होता हैः
const float lightSpeed = 300000000.00;
इस Statement में 300000000.00 एक Fractional Form Literal है। चूंकि बडी संख्याओं को हमेंशा सरलता से Use करने के लिए घातांक रूप में Convert करके Use किया जाता है। इसलिए इस Literal को भी हम Exponent Form में Convert करके Use कर सकते हैं।
Exponent Form
जब हम किसी संख्या को घातांक के रूप में Computer में Represent करते हैं, तो उस प्रकार की संख्या को Exponent Form Floating Point Constant कहा जाता है। ऐसी संख्या के हमेंशा निम्नानुसार दो भाग होते हैं:
1) Mantissa व 2) Exponent
इस तरीके का प्रयोग करके हम बडी-बडी संख्याओं को घातांक के रूप में दर्शाया जाता है। जैसे 1200000000 को घातांक रूप में हम निम्नानुसार भी लिख सकते हैं। 1200000000 = 1.200000000 * 1010 जहां 1.2 Mantissa वाला भाग होगा व 1010 Exponent वाला भाग हो जाएगा। किसी भी Fractional Form मान को Exponent Form में Convert करने के लिये निम्न सूत्र का प्रयोग कर सकते हैं:
Value | = | Mantissa | e/E | Exponent | ||
1200000000 | = | 1.2 | +E | 10 | = | 1.2+E10 |
इस तरह से किसी भी संख्या का घातांक रूप प्राप्त किया जा सकता है। यदि घातांक धनात्मक हो तो +e या +E आता है अन्यथा -e या -E आता है। इस प्रकार का Literal किसी Constant Identifier को Assign करने के लिए हम निम्नानुसार Declaration कर सकते हैं:
const float lightSpeed = 3.0+E10;
इस Statement में 300000000.00 एक Exponent Form Literal है।
Rules for Representing Real Constants in a PROGRAM
किसी Program में जब भी हम किसी Real Constant मान को Represent करते हैं, तब हमें कुछ नियमों का ध्यान रखना होता है। किसी Real Constant को Represent करने के नियम निम्नानुसार हैं:
- किसी भी Real Constant में कम से कम एक Digit को होना जरूरी होता है।
- किसी Real Constant में हमेंशा एक दसमलव होता है और दसमलव के बाद कम से कम एक Digit का होना जरूरी होता है।
- Real Constant भी Positive या Negative किसी प्रकार का हो सकता है।
- यदि किसी Real Constant के साथ जब किसी चिन्ह का प्रयोग नहीं किया गया होता है, तब By Default वह Real Constant एक Positive Real Constant होता है।
- किसी Real Constant में अंकों को अलग करने के लिए Blank Space या Comma का प्रयोग नहीं किया जा सकता है।
इन नियमों को ध्यान में रखते हुए ही हमें हमारे Program में किसी Integer Constant को Represent करना होता है। इनमें से किसी भी नियम को Avoid करने पर “C” का Compiler Compile Time Error Generate करता है।
हम जिस किसी भी रूप में जो भी स्थिर Real मान Represent करते हैं, वह मान Real Literal याReal Constant कहलाता है। उदाहरण के लिए आगे दिए जा रहे सभी मान Real Constant मान हैं:
Fractional Form |
Exponential Form |
123.32 |
12.3e+12 |
+2568.23 |
+2.568+e32 |
-7812.12 |
-123.5+e5 |
-5698.21 |
-1245.89-e10 |
हम किसी Literal को सामान्य Form में Store करके उसे किसी भी दूसरे Form में भी Display करवा सकते हैं। उदाहरण के लिए यदि हम किसी Integer मान Decimal Form में Store करते हैं, तो उस मान को Display करवाते समय %d, %i, %o या %x Control Strings का प्रयोग करके Decimal, Octal या Hexadecimal Form में Display करवा सकते हैं।
इसी तरह से यदि हम किसी Floating Point Value को किसी Identifier में सामान्य रूप में Store करते हैं, तब भी हम उस मान को सामान्य दसमलव वाली संख्या व घातांक वाली संख्या दोनों ही रूपों में Output में Display करवा सकते हैं। इस पूरी प्रक्रिया को निम्न Program द्वारा समझा जा सकता हैः
//Program: #include <stdio.h> #include <conio.h> main() { const int Integer = 12345; const float Float = 12345.6789; printf("n Integer in Decimal Form=%d",Integer); printf("n Integer in Octal Form=%o",Integer); printf("n Integer in Hexadecimal Form=%x",Integer); putchar('n'); printf("n Float in Fractional Form=%f",Float); printf("n Float in Exponential Form=%e",Float); getch(); } //Output Integer in Decimal Form = 12345 Integer in Octal Form = 30071 Integer in Hexadecimal Form = 3039 Float in Fractional Form = 12345.678711 Float in Exponential Form = 1.234568e+04
इस Program में हमने केवल एक ही Integer मान को तीन तरीकों से व एक ही Floating Point मान को दो तरीकों से Output में Display करने के लिए अलग-अलग Control Strings का प्रयोग किया है। Output में हम देख सकते हैं कि Control String को बदल देने से हमें Output में प्राप्त होने वाला मान किसी दूसरे Form में दिखाई देने लगता है, जबकि हमें Actual Identifier के मान को Change करने की जरूरत नहीं होती है।
इस Discussion का सारांश ये है कि हम चाहे किसी भी Form में Calculation को Perform करें, उसे Output में Display करने पर हमें किस Form में Output चाहिए, इस बात को printf() Function में अलग-अलग Control String का प्रयोग करके तय किया जा सकता है।
इस Program में हमने putchar() नाम का एक नया Function Use किया है। इस Function को भी stdio.h नाम की Header File में ही Define किया गया है। इस Function में हम Argument के रूप में एक Character Pass करते हैं और ये Function उस Character को Screen या Output Device पर भेज देता है।
चूंकि हमने इस Function में Output Screen पर एक New Line प्राप्त करने के लिए ‘\n’ Backslash Character Constant को Argument के रूप में Pass किया है, इसलिए ये Function हमें Output में एक New Line Provide करता है। यदि हम Argument के रूप में किसी अन्य Character को इस Function में Pass करते, तो वह Character भी Output में ज्यों का त्यों Print हो जाता।
चूंकि हमें इस Function में हमेंशा एक ही Character को Argument के रूप में भेजना होता है, इसलिए इस Function में Argument के रूप में Pass किए जाने वाले Character को Single Quotes के बीच लिखकर भेजना होता है। (What is Floating Point Literal )
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook C Programming Language in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
C Programming Language in Hindi | Page: 477 + 265 | Format: PDF