फ्लोटिंग पॉइंट नंबर: यह क्या है? बस उदाहरण के साथ समझाया
इस व्यावहारिक टिप में, हम आपको दिखाते हैं कि फ्लोटिंग पॉइंट नंबर क्या है और यह एक निश्चित पॉइंट नंबर से कैसे भिन्न होता है।
फ्लोटिंग पॉइंट नंबर: यह क्या है?
कंप्यूटर विज्ञान में, फ़्लोटिंग पॉइंट संख्या का उपयोग अक्सर उन उपकरणों को मापने के लिए किया जाता है जो एक निश्चित सटीकता के साथ काम करने वाले होते हैं।
- एक फ्लोटिंग पॉइंट नंबर (या "फ्लोटिंग पॉइंट नंबर") एक संख्या का प्रतिनिधित्व है जो घातीय संकेतन का उपयोग करता है। असाधारण मामलों में, यह केवल लगभग काम करता है। आप 1.23 ⋅ 10 number की संख्या के साथ संख्या 1230000 का भी प्रतिनिधित्व कर सकते हैं।
- 1.23 को "मंटिसा" कहा जाता है। 10 "आधार" है और 6 "प्रतिपादक" है। संयोग से, एक संकेत को मंटिसा में भी जोड़ा जा सकता है। हालाँकि, आप पूरी व्यवस्था को दोहरी प्रणाली पर भी लागू कर सकते हैं। आप संख्या १०१०११०० का प्रतिनिधित्व १.०१०११०० ⁷ २ also नंबर के साथ भी कर सकते हैं। कंप्यूटर केवल साइन, मंटिसा और एक्सपोनेंट को स्टोर करता है।
- कंप्यूटर आमतौर पर अल्पविराम को आगे और पीछे ले जाते हैं जब तक कि अल्पविराम के सामने केवल 1 ही न हो। तब पीसी को केवल मंटिसा के दशमलव स्थानों और प्रतिपादक को सहेजना होगा।
- ताकि प्रतिपादक को एक सकारात्मक संख्या, एक निश्चित संख्या, तथाकथित पूर्वाग्रह के रूप में बचाया जा सके। दशमलव बिंदु (- पूर्वाग्रह) से पहले स्थान का सबसे छोटा संभव प्रतिपादक 0 के रूप में सहेजा गया है।
- निश्चित बिंदु संख्या के विपरीत, अल्पविराम फ्लोटिंग-पॉइंट संख्या में एक निश्चित बिंदु पर नहीं है।
हाफ, फ्लोट और डबल - फ्लोटिंग पॉइंट नंबरों की कॉमन कोडिंग
आप निश्चित रूप से इन तीन शब्दों में ठोकर खा चुके हैं, खासकर जब Arduino के साथ प्रोग्रामिंग। ये मानकीकृत अभ्यावेदन हैं।
- डेटा प्रकार "आधा" एक 16-बिट संख्या है। सबसे बाईं ओर संकेत के लिए जिम्मेदार है। प्रतिपादक के पास 5 बिट्स और मंटिसा 10 हैं। प्रयुक्त पूर्वाग्रह 15 है। चूंकि मंटिसा का पहला बिट हमेशा (लगभग) 1 है, इसलिए इसे बचाया नहीं जाता है।
- "फ्लोट" (या "सिंगल") डेटा प्रकार एक 32-बिट संख्या है। यहां, संकेत के लिए भी थोड़ा सा उपयोग किया जाता है। हालांकि, प्रतिपादक में 8 बिट्स (पूर्वाग्रह = 127) और मंटिसा 23 हैं।
- डेटा प्रकार "डबल" भी संकेत के लिए थोड़ा उपयोग करता है। यहाँ, हालाँकि, घातांक में 11 बिट्स (पूर्वाग्रह = 1023) और मंटिसा 52 बिट्स भी हैं। कुल में, यह 64 बिट्स है, यानी 8 बाइट्स।
- इन तीन सामान्य डेटा प्रकारों के अलावा, कई और भी हैं। हालांकि, ये ज्यादातर उपयोग नहीं किए जाते हैं क्योंकि आधे, फ्लोट और डबल की सटीकता पहले से ही काफी अच्छी है।
दशमलव संख्याओं को फ़्लोटिंग पॉइंट संख्याओं में परिवर्तित करें - यह कैसे काम करता है
अंत में, हम आपको दिखाना चाहते हैं कि आप एक सामान्य दशमलव संख्या को फ्लोटिंग पॉइंट नंबर में कैसे बदल सकते हैं।
- इस उदाहरण में हम दशमलव संख्या 18.4 का उपयोग करते हैं। दशमलव बिंदु से पहले की संख्या को पहले दोहरी प्रणाली में स्थानांतरित किया जाता है। नतीजतन, आपको (10010) should मिलना चाहिए।
- फिर आपको 0.4 कन्वर्ट करना होगा। पहले 0.4 को 2 से गुणा करें। आपको परिणाम के रूप में 0.8 मिलता है। अल्पविराम से पहले संख्या का ध्यान दें। इस स्थिति में यह 0. है। 0.8 को 2 से गुणा करें। इस बार आपको परिणाम के रूप में 1.6 मिलता है। 1 का नोट बनाएं और 0.6 के साथ गणना करना जारी रखें। थोड़ी देर बाद आप देखेंगे कि पैटर्न खुद को दोहराता है (इस उदाहरण में)। अंत में, ऊपर से नीचे तक सभी संख्याएँ लिखें: 011001100110 ...
- फिर संख्याओं को एक साथ जोड़ें: साथ ही (add 2⁰) भी जोड़ें ताकि आपको 10010.01100110 ... ⁰ 2⋅ मिलें। तब तक अल्पविराम को स्थानांतरित करें जब तक कि दशमलव बिंदु के सामने केवल 1 न हो, और उचित रूप से शक्ति को भी बदल दें। परिणामस्वरूप आपको 1.001001100110 ... ⁴ 2 since मिलना चाहिए, क्योंकि आपने दशमलव बिंदु 4 स्थानों को बाईं ओर स्थानांतरित कर दिया है। इस कदम को "सामान्यीकरण" भी कहा जाता है।
- इस उदाहरण में हम डेटा प्रकार "फ्लोट" का उपयोग करते हैं। इसलिए अपने प्रतिपादक के लिए उचित पूर्वाग्रह मूल्य जोड़ें। आपको गणना के परिणाम को 4 + 127 = 131 को बाइनरी नंबर में बदलना होगा। 131 नंबर दोहरी प्रणाली में 10000011 नंबर है।
- अब आप समाप्त अस्थायी बिंदु संख्या को लिख सकते हैं। पहले हस्ताक्षर के लिए थोड़ा लिखें। चूंकि यह एक सकारात्मक संख्या है, पहला बिट 0. है। इसके बाद आपको 131 लिखना होगा। पूरी बात इस मामले में पूरी तरह से फिट बैठती है, क्योंकि इस संख्या के लिए 8 बिट्स की आवश्यकता होती है और फ्लोट के लिए 8 बिट्स उपलब्ध होते हैं। अंत में, आपको मंटिसा के पहले 23 बिट्स को लिखना होगा, क्योंकि मंटिसा में एक फ्लोट के लिए 23 बिट्स उपलब्ध हैं।
- इसलिए आपका समाप्त फ्लोटिंग पॉइंट नंबर 01000001100100111111001100110011 नंबर होना चाहिए। थोड़ी स्पष्ट संख्या 0 है। 10000011 | 0010011001100110000110011
फ़्लोटिंग पॉइंट नंबर को दशमलव संख्या में बदलें - यहाँ बताया गया है कि कैसे
अंत में, हम आपको यह दिखाना चाहते हैं कि आप फ़्लोटिंग पॉइंट नंबर को एक दशमलव संख्या में कैसे बदल सकते हैं। इसके लिए हम नंबर लेते हैं 100000110010011001111001100110011।
- पहले संख्या (सामने) को शून्य से भरें, जब तक कि आप 16, 32 या 64 बिट संख्या प्राप्त न कर लें। इस मामले में यह 0100000110010011001111001100110011 है।
- पहला अंक चिन्ह के लिए खड़ा है। इसलिए हमारी संख्या सकारात्मक है।
- फिर अगला (इस मामले में) 8 अंक लिखें और पूर्वाग्रह को घटाएं। (10000011) 131 = 131 → 131 - 127 = 4 → तो पीछे की तरफ "011 2)" है।
- अब एक "1, " और फिर शेष सभी संख्याओं के साथ-साथ "⁴ 2" "लिखें: 1.001001100110011001100110011 ⋅ 2,
- फिर अल्पविराम 4 स्थानों को दाईं ओर ले जाएं ताकि आप "⁴ 2:" को छोड़ सकें: 10010.011001111001100110011
- इसके बाद, हमेशा की तरह 10010 को पूर्णांक में बदलें। आप 18 प्राप्त करें।
- अब आपको दशमलव स्थानों को परिवर्तित करना होगा। अल्पविराम के बाद के पहले अंक का मान 1: 2 the, दूसरा अंक 1: 2 so और इसी तरह होता है। मान जोड़ें, और कॉमा से पहले की संख्या आपको 18.3999996185302734375 नंबर देती है।
अगले व्यावहारिक टिप में हम आपको दिखाएंगे कि आप ASCII अक्षरों को बाइनरी नंबरों में कैसे बदल सकते हैं।