Wednesday 6 December 2017

फ्लोट सूत्रीय संख्या प्रतिनिधित्व बाइनरी विकल्प


फ्लोटिंग प्वाइंट फिक्स्ड-प्वाइंट संख्याएं फिक्स्ड प्वाइंट नंबर एक निश्चित और आसान तरीका हैं जो फिक्स्डल संख्याओं को व्यक्त करते हैं, जो निश्चित बिट्स का उपयोग करते हैं। फ्लोटिंग-प्वाइंट हार्डवेयर सपोर्ट वाले सिस्टम फ़र्कल नंबरों का प्रतिनिधित्व करने के लिए अक्सर फिक्स्ड-पॉइंट नंबर का उपयोग करते हैं। (फ्लोटिंग पॉइंट हार्डवेयर समर्थन के बिना सिस्टम में हार्डवेयर की एक विस्तृत श्रृंखला शामिल है - उच्च अंत तय-बिंदु डीएसपी, एफपीजीए और महंगी कस्टम एएसआईसी जो स्ट्रीमिंग मीडिया को किसी भी फ्लोटिंग पॉइंट यूनिट से ज्यादा तेजी से प्रोसेस करते हैं जो बेहद कम-एंड माइक्रोकंट्रोलर्स )। फिक्स्ड-पॉइंट शब्द द्विआधारी बिंदु की स्थिति को दर्शाता है। द्विआधारी बिंदु दशमलव-दशमलव संख्या के दशमलव बिंदु के समान है, लेकिन चूंकि यह दशमलव के बजाय द्विआधारी है, एक अलग अवधि का उपयोग किया जाता है। द्विआधारी में, बिट्स या तो 0 या 1 हो सकते हैं और वहां निर्दिष्ट करने के लिए कोई अलग प्रतीक नहीं है जहां बाइनरी बिंदु स्थित है। हालांकि, हम कल्पना करते हैं, या मानते हैं, कि द्विआधारी बिंदु संख्या में निर्दिष्ट बीट्स के बीच एक निश्चित स्थान पर रहता है। उदाहरण के लिए, 32-बिट संख्या में, हम यह मान सकते हैं कि द्विआधारी बिंदु 15 बिट (15 के बीच में है क्योंकि पहले बिट को 0, न 1) और 16 के बीच मौजूद है, पूरे नंबर भाग और 16 बिट्स के लिए 16 बिट्स आंशिक भाग ध्यान दें कि पूरे नंबर फ़ील्ड में सबसे महत्वपूर्ण बिट को आम तौर पर पूरे नंबरों के लिए 15 बिट्स छोड़कर साइन बिट के रूप में निर्दिष्ट किया जाता है। चौड़ाई और प्रेसिजन संपादित करें निश्चित-बिंदु संख्या की चौड़ाई निश्चित बिंदु संख्या के लिए संग्रहण के लिए निर्दिष्ट बिट की कुल संख्या है। अगर हम अलग-अलग भंडारण स्थानों में संपूर्ण भाग और आंशिक भाग को संचित कर रहे हैं, तो चौड़ाई संख्या के लिए भंडारण की कुल राशि होगी। एक निश्चित बिंदु संख्या की सीमा संभवतः न्यूनतम संख्या के बीच का अंतर है, और अधिकतम संभव संख्या। संख्या के आंशिक भाग के लिए निश्चित बिंदु संख्या की सटीक संख्या बिट्स की संख्या है। चूंकि हम परिभाषित कर सकते हैं कि हम कहां तय बोनरी बिंदु स्थित होना चाहते हैं, तो सटीक नंबर की चौड़ाई और उससे भी अधिक संख्या हो सकती है। हालांकि ध्यान दें, हमारे पास जितनी अधिक सटीकता है, उतनी कम रेंज है, जो हमारे पास है। कई मानकों हैं, लेकिन इस पुस्तक में हम एक निश्चित बिंदु संख्या की चौड़ाई, शुद्धता के लिए पी और कुल रेंज के लिए आर का उपयोग करेंगे। सभी अंकों को निश्चित-बिंदु संख्या से ठीक से प्रदर्शित नहीं किया जा सकता है, और इसलिए निकटतम सन्निकटन का उपयोग किया जाता है। फ्लोट संख्या (x) के एक Qm. n प्रारूप में पूर्णांक प्रतिनिधित्व (एक्स) की गणना के लिए सूत्र है: इसे परिवर्तित करने के लिए निम्न सूत्र का उपयोग किया जाता है: Q3.4 प्रारूप में कुछ उदाहरण: बेतरतीब ढंग से चुनी गई फ़्लोट्स: कुछ उदाहरण (बेहद आम) 1 Q7.8 प्रारूप: क्योंकि द्विआधारी बिंदु की स्थिति पूरी तरह से वैचारिक है, फिक्स्ड-पॉइंट नंबरों को जोड़ना और घटाते समय तर्क को पूर्णांक जोड़ना और घटाना आवश्यक है। इस प्रकार, Q3.4 प्रारूप में आधे से अधिक एक आधा जोड़ते समय, हम यह देखना चाहते हैं: जो कि हम उम्मीद करते हैं, एक के बराबर है। यह घटाव के समान रूप से लागू होता है दूसरे शब्दों में, जब हम फिक्स्ड-पॉइंट नंबर जोड़ते हैं या घटाते हैं, तो राशि (या अंतर) में द्विआधारी बिंदु दो जगहों पर उसी स्थान पर स्थित होगा जहां पर हम काम कर रहे हैं। जब दो 8 बिट तय-बिंदु संख्याओं को गुणा करते हैं तो हमें उत्पाद को रखने के लिए 16 बिट्स की आवश्यकता होगी। जाहिर है, क्योंकि इनपुट के मुकाबले परिणाम में बिट्स के भिन्न संख्याएं हैं, बाइनरी बिंदु को आगे बढ़ने की उम्मीद की जानी चाहिए। हालांकि, यह द्विआधारी में ठीक उसी प्रकार से काम करता है जैसा कि दशमलव में होता है जब हम दशमलव में दो नंबरों को गुणा करते हैं, दशमलव बिंदु का स्थान सही अंक के उत्पादों की बाईं ओर N अंक होता है, जहां N गुणांक में दशमलव बिंदु के दायीं ओर स्थित अंकों की संख्या का योग होता है और गुणांक । इस प्रकार, दशमलव में जब हम 0.2 गुना 0.02 गुणा करते हैं, तो हमें मिलती है: गुणक का दशमलव बिंदु के दाईं ओर एक अंक होता है, और गुणांक दशमलव बिंदु के दाईं ओर दो अंक होता है। इस प्रकार, उत्पाद में दशमलव अंक के दाईं ओर तीन अंक होते हैं (जो कहने के लिए है, दशमलव बिंदु बाईं ओर तीन अंक स्थित है)। यह बाइनरी में ही काम करता है उपर्युक्त अतिरिक्त उदाहरण से, हम जानते हैं कि क्यू 3.4 प्रारूप में नंबर एक आधे हेक्साडेसिमल में 0x8 के बराबर है। चूंकि 0x8 गुना 0x8 हेक्स में 0x0040 है (हेक्स में भी), निश्चित बिंदु के परिणाम भी 0x0040 होने की अपेक्षा की जा सकती हैं - जब तक हमें पता है कि बाइनरी बिंदु कहाँ स्थित है। द्विआधारी में उत्पाद लिखने की सुविधा देता है: चूंकि दोनों गुणक और गुणांक में द्विआधारी बिंदु के दायरे में चार बिट हैं, उत्पाद में बाइनरी बिंदु का स्थान बाईं तरफ आठ बिट है। इस प्रकार, हमारा उत्तर 00000000.01000000 है, जो कि जैसा हम उम्मीद करते हैं, एक तिमाही के बराबर है। अगर हम आउटपुट के प्रारूप को इनपुट के स्वरूप के समान मानना ​​चाहते हैं, तो हमें अतिप्रवाह को रोकने के लिए इनपुट की सीमा को प्रतिबंधित करना होगा। Q7.8 से Q3.4 तक कन्वर्ट करने के लिए उत्पाद को सही 4 बिट्स से स्थानांतरित करना एक साधारण मामला है। फिक्स्ड-पॉइंट नंबर अक्सर एफआईआर और आईआईआर फिल्टर सहित डिजिटल फिल्टर में आंतरिक रूप से उपयोग किए जाते हैं। फिक्स्ड-बिन्दु संख्याओं का उपयोग कर एफआईआर और आईआईआर एल्गोरिदम के कार्यान्वयन के लिए कई व्यावहारिक विचार हैं। 2 3 कई एम्बेडेड सिस्टम जो साइन लहरों का उत्पादन करते हैं, जैसे कि डीटीएमएफ जेनरेटर, प्रोग्राम मेमोरी में एक साइन टेबल को स्टोर करते हैं। (इसका उपयोग गणितीय साइन () और कोसाइन () फ़ंक्शन के अनुमान के लिए किया जाता है)। चूंकि इस तरह के सिस्टम में अक्सर प्रोग्राम मेमोरी की बहुत सीमित मात्रा होती है, अक्सर फिक्स्ड-पॉइंट नंबर दो अलग-अलग तरीके से उपयोग किए जाते हैं जब ऐसी तालिकाओं का उपयोग किया जाता है: तालिकाओं में संग्रहित मान, और इन तालिकाओं में सूचकांक के लिए इस्तेमाल किए गए ब्रैड्स साइन तालिका में संग्रहीत मान सामान्यतया साइन और कोसाइन फ़ंक्शन का एक चतुर्थांश उस तालिका में संग्रहीत किया जाता है। आमतौर पर यह एक चतुर्थ संख्या है जहां उन कार्यों में 0 से 1 की सीमा में आउटपुट मान होते हैं। ऐसे तालिकाओं में मान आमतौर पर निर्धारित बिंदु संख्या के रूप में संग्रहीत होते हैं - अक्सर 16-बिट नंबर अहस्ताक्षरित Q0.16 स्वरूप या 8-बिट संख्या में अहस्ताक्षरित Q0.8 मान इस तथ्य को संभालने के दो लोकप्रिय तरीके हैं कि Q0.16 कैंट बिल्कुल 1.0 को संभाल नहीं सकता है, यह केवल 0 से (1.0-2-16) संख्याओं को संभालता है: (ए) सटीक दो की शक्ति (इस मामले में 216 ), अधिकांश अन्य निश्चित बिंदु प्रणालियों की तरह, और (क्लिप) मानों को उस बड़े मूल्य के रूप में संग्रहीत करने के लिए बहुत बड़े स्थान को बदलता है जो संग्रहीत किया जा सकता है: तो 0 को 0 के रूप में दर्शाया गया है, 0.5 0x8000 के रूप में दर्शाया गया है, (1.0-2-16) के रूप में दर्शाया गया है 0xFFFF, और 1.0 काट दिया गया और इसे 0xFFFF के रूप में भी दर्शाया गया। 4 (बी) सबसे बड़ा संभव मान (इस मामले में 0xFFFF) से स्केल, इसलिए दोनों अधिकतम और न्यूनतम मूल्यों को ठीक से प्रस्तुत किया जा सकता है: इसलिए 0 को 0 के रूप में दर्शाया गया है, (1.0-2-16) 0xFFFE के रूप में दर्शाया गया है, और 1.0 बिल्कुल 0xFFFF के रूप में प्रतिनिधित्व 5 कुछ लोग काफी सटीक मंडल को आकर्षित करते हैं और बेज़ियर स्पलाइन के साथ काफी सटीक साइन और कोसाइन की गणना करते हैं। तालिका 8 मान एक एकल बीज़ियर वक्र का प्रतिनिधित्व करती है, जो एक सर्कल के 18 से लगभग 4 भागों की शुद्धता के लिए या एक सर्कल के 14 में एक हजार के लगभग 1 भाग की सटीकता के लिए अनुमानित होती है। 6 7 कई लोग मोड़ के संदर्भ में रोटेशन (जैसे एंगल्स) का प्रतिनिधित्व करना पसंद करते हैं। मुड़ता का पूर्णांक बताता है कि कितने सारे क्रांतियां हुई हैं मोड़ के आंशिक भाग, जब मानक पर हस्ताक्षर किए निश्चित-अंक अंकगणितीय का उपयोग करके 360 (या 1 2 8) गुणा किया जाता है, तो 180 डिग्री (- रेडियन) से 180 डिग्री (रेडियन) में एक वैध कोण देता है। कुछ मामलों में, यह द्विआधारी कोण पर अहस्ताक्षरित गुणा (हस्ताक्षरित गुणा के बजाय) का उपयोग करने के लिए सुविधाजनक है, जो 0 से 360 डिग्री (2 रेडियन) की सीमा में सही कोण देता है। मोड़ के एक निश्चित बिंदु बिंदु के रूप में कोणों को संगृहीत करने का मुख्य लाभ गति है नई स्थिति प्राप्त करने के लिए कुछ सकारात्मक या नकारात्मक वृद्धिशील कोण के साथ कुछ मौजूदा स्थिति कोण का संयोजन बहुत धीमी गति से 8-बिट माइक्रोकंट्रोलर्स पर भी बहुत तेज है: यह एक पूर्णांक जोड़ता है, अतिप्रवाह को छोड़कर। भंडारण एंगल्स के लिए अन्य प्रारूपों को एक ही अतिरिक्त आवश्यकता होती है, साथ ही विशेष मामलों में 360 डिग्री या 0 डिग्री से कम होने के किनारे के मामलों को संभालना है। एक पूर्ण क्रांति देने के लिए एक पूर्ण क्रांति देने के लिए 360 डिग्री, या 2 रेडियन के रूप में किसी भी अन्य प्रारूप में कोणों को संग्रहीत करते हुए एक द्विआधारी कोण प्रारूप में कोणों को संचय करने की तुलना में - वांछित रेंज में मूल्य को कम करने के लिए अतिरिक्त कदमों की आवश्यकता है, या कुछ बिट पैटर्नों में परिणाम जो कि सभी (एनएएन) मान्य एंगल नहीं हैं, या दोनों। मोड़ की इकाइयों में द्विआधारी कोण प्रारूप का उपयोग करने से हमें जल्दी (शिफ्ट-और-मास्क का उपयोग करके, गुणा से बचने की अनुमति देता है) बिट्स को अलग करता है: बिट्स जो पूर्णांक बदलते हैं (कोण की साइन की तलाश करते समय कुछ सिस्टम इन्हें संसाधित नहीं करते हैं पहली जगह में बिट्स) 2 बिट्स जो कि चतुर्भुज बिट्स का प्रतिनिधित्व करते हैं जो सीधे सूचकांक में दिखते हैं, तालिका में कम-क्रम बिट्स को एक से कम चरण सूचकांक तालिका में (चरण संचयक बिट्स, बिना कोण के साइन की खोज करते समय ध्यान दिए गए) प्रक्षेप) कम क्रम चरण बिट्स, प्रक्षेप के बिना भी, बेहतर आवृत्ति संकल्प प्रदान करता है। कुछ सिस्टम तालिका में मानों के बीच रैखिक रूप से समानांतर करने के लिए निम्न-आदेश बिट्स का उपयोग करते हैं। 12 यह आपको इस अतिरिक्त प्रक्षेप गणना पर कुछ चक्रों का त्याग करके एक छोटी सी मेज (प्रोग्रामिंग की बचत) का उपयोग करके अधिक सटीकता प्राप्त करने की अनुमति देता है क्यूबिक प्रक्षेप की गणना करने के लिए उन कम-आदेश बिट्स का उपयोग करने के लिए कुछ और चक्रों का त्याग करके कुछ सिस्टम एक छोटी सी तालिका का उपयोग करके और भी सटीकता प्राप्त करते हैं 4 शायद सबसे आम द्विआधारी कोण प्रारूप ब्रैड है। ब्रैड्स संपादित करें कई एम्बेडेड सिस्टम एक एकल बाइट बाइनरी कोण प्रारूप में कोण को बदलते हैं, मोड़ के आंशिक भाग को संग्रहीत करते हैं। 13 उस बाइट में मूल्य की व्याख्या करने के कई तरीके हैं, जिनमें से सभी का अर्थ (अधिक या कम) समान कोण है: ब्रैड की इकाइयों में एक कोण (बाइनरी रेडियन) 8 बिट अहस्ताक्षरित पूर्णांक के रूप में संग्रहीत, 0 से 255 ब्रैड्स तक 8 बिट हस्ताक्षरित पूर्णांक के रूप में संग्रहित ब्रैड की इकाइयों में कोण, घुमाने की इकाइयों में -128 से 127 ब्राड्स के एक कोण, अहस्ताक्षरित Q0.8 प्रारूप में एक आंशिक मोड़ के रूप में संग्रहीत किया जाता है, जो 0 से एक पूर्ण मोड़ के नीचे एक इकाई में मुड़ता है, हस्ताक्षरित Q0.7 () प्रारूप में एक आंशिक मोड़ के रूप में संग्रहित किया जाता है -12 से 12 पूर्ण मोड़ के नीचे एक पूर्ण मोड़ 14 256 ब्रैड 15 डिग्री 360 डिग्री है। अगर एक बाइट पर्याप्त सटीक नहीं होता है तो ब्रैड सिस्टम को आसानी से अधिक आंशिक बिट के साथ बढ़ाया जा सकता है - 65,536 प्रति मोड़ 16 बिट्स में दर्शाया जा सकता है 16 फ्लोटिंग-प्वाइंट कनवर्टर के बारे में अधिक जानने के लिए दशमलव-फ्लोटिंग प्वाइंट कन्वर्टर के दशमलव के बारे में अधिक पढ़ने के लिए यह बाइनरी फ्लोटिंग पॉइंट कनवर्टर के लिए दशमलव है। यह एक दशमलव संख्या को अपनी निकटतम एकल-परिशुद्धता और दोहरे सटीक आईईईई 754 बायनरी फ्लोटिंग-पॉइंट नंबर में बदल देगा, गोल-आधा-टू-या तो गोलिंग (डिफ़ॉल्ट आईईईई गोलाकार मोड) का उपयोग कर। यह मनमाना-सटीक अंकगणितीय के साथ लागू किया जाता है, इसलिए इसका रूपांतरण सही ढंग से गोल हो गया है। यह दोनों सामान्य और असामान्य संख्याओं को बदल देगा, और उस संख्या को बदल देगा जो अतिप्रवाह (अनन्तता) या अंडरफ्लो (शून्य) में परिवर्तित हो जाएगी। परिणामस्वरूप फ़्लोटिंग-पॉइंट संख्या को दस रूपों में प्रदर्शित किया जा सकता है: दशमलव में, द्विआधारी में, सामान्यीकृत दशमलव वैज्ञानिक संकेतन में, सामान्यीकृत द्विआधारी वैज्ञानिक संकेतन में, सामान्यीकृत दशमलव बार दो की शक्ति के रूप में, दशमलव पूर्णांक के समय के रूप में दो की शक्ति , एक दशमलव पूर्णांक बार के रूप में दस की शक्ति, एक हेक्साडेसिमल अस्थायी बिंदु स्थिर, कच्चे बाइनरी में, और कच्चे हेक्साडेसिमल में। प्रत्येक प्रपत्र अस्थायी-अंक संख्या के सटीक मूल्य का प्रतिनिधित्व करता है। क्यों इस कनवर्टर का उपयोग करें यह कनवर्टर आपको दिखाएगा कि आपके कंप्यूटर प्रोग्राम में संख्याएं 0.1 की तरह हैं, जैसे कि आप की उम्मीद नहीं है I8217d। कंप्यूटर के अंदर, एक दशमलव बिंदु के साथ अधिकतर संख्या केवल एक अन्य संख्या का अनुमान लगाया जा सकता है, जिसे आप चाहते हैं उससे सिर्फ एक छोटा सा दूर होना चाहिए, इसके लिए इसके लिए खड़ा होना चाहिए। उदाहरण के लिए, एकल परिशुद्धता फ़्लोटिंग-पॉइंट में, 0.1 0.100000001490116119384765625 होता है। यदि आपका कार्यक्रम 0.1 प्रिंट कर रहा है, तो यह आपके लिए झूठ बोल रहा है यदि यह 0.100000001 प्रिंट कर रहा है, तो यह 8217 अभी भी झूठ बोल रहा है, लेकिन कम से कम आईटी 8217 के बारे में बताता है कि वास्तव में डॉन 8217 में 0.1 है। इस कन्वर्टर का प्रयोग कैसे करें, एक सकारात्मक या नकारात्मक संख्या दर्ज करें, या तो मानक (जैसे 134.45) या एक्सपोनेंट (उदा। 1.3445 ई 2) फॉर्म में। दशमलव बिंदु (lsquo. rsquo) के साथ आंशिक मूल्यों को इंगित करें, और अल्पविराम का उपयोग न करें। अनिवार्य रूप से, आप किसी कंप्यूटर प्रोग्राम को फ्लोटिंग-पॉइंट शाब्दिक के रूप में स्वीकार कर सकते हैं, बिना किसी प्रत्यय के (जैसे एलसीक्फ़र्सक्वो) को छोड़कर। आईईईई परिशुद्धता के लिए बॉक्स को चेक करें जिसे आप डबल चुनना चाहते हैं एक । अथवा दोनों। (डबल डिफ़ॉल्ट है।) एक 11-बिट एक्सपोनेंट के साथ एक 53-बिट महत्व और कम (यदि असामान्य) कम होता है तो एक 8-बिट एक्सपोनेंट के साथ एक 24-बिट महत्व और (कम अगर असामान्य) का मतलब होता है किसी भी आउटपुट स्वरूप के लिए बॉक्स चुनें, जिसे आप एक या सभी दस चुनना चाहते हैं (दशमलव डिफ़ॉल्ट है।) कन्वर्ट करने के लिए lsquoConvertrsquo पर क्लिक करें। फ़ॉर्म रीसेट करने के लिए lsquoClearrsquo पर क्लिक करें और खरोंच से शुरू करें। यदि आप दूसरे नंबर को बदलना चाहते हैं, तो बस मूल संख्या पर टाइप करें और lsquoConvertrsquo 8212 पर क्लिक करें lsquoClearrsquo पर क्लिक करने की कोई आवश्यकता नहीं है। चुनने के लिए दस आउटपुट फॉर्म हैं: दशमलव दशमलव में अस्थायी-अंक संख्या प्रदर्शित करें (सभी अंकों को देखने के लिए आउटपुट बॉक्स का विस्तार करें, यदि आवश्यक हो तो।) बाइनरी बाइनरी में अस्थायी-बिंदु संख्या प्रदर्शित करें (सभी अंकों को देखने के लिए यदि आवश्यक हो, तो आउटपुट बॉक्स का विस्तार करें।) सामान्य दशमलव दशमलव अंक दशमलव में अस्थायी-बिंदु संख्या प्रदर्शित करें, लेकिन दृढ़ता से, सामान्यीकृत वैज्ञानिक संकेतन का उपयोग कर। (सभी अंकों को देखने के लिए, आवश्यक होने पर आउटपुट बॉक्स का विस्तार करें।) सामान्यीकृत द्विआधारी वैज्ञानिक संकेतन। बाइनरी में फ़्लोटिंग-पॉइंट नंबर प्रदर्शित करें, लेकिन कॉम्पैक्ट रूप से, सामान्यीकृत द्विआधारी वैज्ञानिक संकेतन का उपयोग कर। ध्यान दें । असामान्य संख्या सामान्यीकृत दिखायी जाती है, उनके वास्तविक प्रतिपादक के साथ सामान्यीकृत दशमलव बार दो की शक्ति हाइब्रिड सामान्यीकृत वैज्ञानिक संकेतन में अस्थायी-अंक संख्या प्रदर्शित करें, सामान्यीकृत दशमलव संख्या के रूप में दो की शक्ति। दशमलव पूर्णांक बार दो की शक्ति अस्थायी बिंदु संख्या को एक दशमलव पूर्णांक बार दो की शक्ति के रूप में प्रदर्शित करें। (दशमलव पूर्णांक का बाइनरी प्रस्तुति अस्थायी-बिंदु प्रतिनिधित्व का थोड़ा नमूना है, कम अनुक्रमित शून्य है।) यह प्रपत्र नकारात्मक प्रतिपादकों के लिए सबसे दिलचस्प है, क्योंकि यह अस्थायी बिंदु संख्या को एक dyadic अंश के रूप में दर्शाता है। दशमलव पूर्णांक बार दस की शक्ति अस्थायी-अंक संख्या को दशमलव पूर्णांक बार दस की शक्ति के रूप में प्रदर्शित करें। यह प्रपत्र नकारात्मक प्रतिपादकों के लिए सबसे दिलचस्प है, क्योंकि यह एक अंश के रूप में अस्थायी-बिंदु संख्या का प्रतिनिधित्व करता है। (सभी अंकों को देखने के लिए, आवश्यक होने पर आउटपुट बॉक्स का विस्तार करें।) हेक्साडेसिमल फ़्लोटिंग-पॉइंट स्थिरांक एक हेक्साडेसिमल फ्लोटिंग-पॉइंट स्थिरांक के रूप में फ़्लोटिंग-पॉइंट नंबर प्रदर्शित करें। ध्यान दें । हेक्साडेसिमल फ्लोटिंग-पॉइंट स्थिरांक को प्रारूपित करने के कई तरीके हैं, जैसा कि आप देखेंगे, उदाहरण के लिए, आपने जावा, विज़ुअल सी, जीसीसी सी, और पायथन प्रोग्रामों की तुलना की तुलना की। विभिन्न भाषाओं में मतभेद सतही होते हैं, हालांकि 8212 अनुक्रमित शून्य दिखाए नहीं जा सकते हैं या नहीं, सकारात्मक अभिप्राय हो सकता है या प्लस चिह्न नहीं हो सकता है, आदि। ये कनवर्टर शून्य और बिना प्लस संकेतों के अनुक्रम के बिना स्थिरांक को प्रारूपित करता है। ध्यान दें । कई प्रोग्रामिंग भाषाओं की तरह, यह कनवर्टर असामान्य संख्याओं को असामान्य रूप से दिखाता है, उनके घाटियों को न्यूनतम सामान्य प्रतिपादक पर सेट किया गया है। ध्यान दें । एक हेक्साडेसिमल फ्लोटिंग-पॉइंट स्थिरता में पिछले हेक्साडेसिमल अंक में इस doesn8217t के भीतर बाइनरी 0 का पीछे हो सकता है, यह आवश्यक है कि चयनित बिट्स चयनित आईईईई प्रारूप में मौजूद हैं। कच्चे बाइनरी अपने कच्चे आईईईई प्रारूप में फ्लोटिंग-पॉइंट नंबर प्रदर्शित करें (महत्व और क्षेत्र द्वारा पीछा एक्सपोनेंट फील्ड के बाद साइन बिट)। रॉ हेक्साडेसिमल अपने कच्चे आईईईई प्रारूप में फ्लोटिंग-पॉइंट नंबर प्रदर्शित करें, जो कि कच्चे बाइनरी प्रारूप के बराबर है, लेकिन हेक्साडेसिमल में स्पष्ट रूप से व्यक्त किया गया है। (इन आउटपुट रूपों के बारे में अधिक जानकारी के लिए यहां देखें।) दो आउटपुट झंडे हैं: अचयनित यदि चेक किया जाता है, तो यह दर्शाता है कि रूपांतरण असंगत था, यह इनपुट नंबर के एक अनुमान के अनुसार गोल होना था। (रूपांतरण अयोग्य है जब दशमलव आउटपुट दशमलव इनपुट से मेल नहीं खाता, लेकिन यह बताने का एक तेज़ तरीका है।) नोट। यह कनवर्टर अन्तराल के लिए अतिप्रवाह झंडे और शून्य से नीचे शून्य के रूप में अयोग्य। असामान्य यदि चेक किया जाता है, तो यह दर्शाता है कि यह संख्या बहुत छोटी थी, और पूर्ण परिशुद्धता से कम (वास्तविक कसौटी कोष्ठक में दिखाया गया) के साथ परिवर्तित हो गया। कार्यान्वयन मैंने इस कनवर्टर को स्क्रैच 8212 से लिखा था, यह मूल रूपांतरण फ़ंक्शंस पर भरोसा नहीं करता जैसे स्ट्रटोड () या स्ट्रॉटोफ़ () या प्रिंटफ़ ()। यह बड़े पूर्णांक आधारित एल्गोरिथ्म पर आधारित है जिसका वर्णन मैं अपने लेख ldquo में ठीक दशमलव को बिल्ट इंटीगर का उपयोग करके फ़्लोटिंग-प्वाइंट के लिए करता है rdquo। I8217ve बीसीएमएथ का उपयोग कर इसे लागू किया। व्यावहारिक कारणों के लिए, Ive ने दशमलव इनपुट you8217ll की लंबाई पर एक मनमाना (कुछ हद तक) सीमा निर्धारित की है, अगर आप इसे दबाएंगे तो एक त्रुटि संदेश प्राप्त होगा I यह ऐसे इनपुट को फ़िल्टर करेगा जो अन्यथा अन्तराल या शून्य से नीचे की तरफ बढ़ेगी, लेकिन यह आपको कुछ ldquohardrdquo आधे रास्ते गोल मामलों को दर्ज करने से भी रोकेगा। (रिकॉर्ड के लिए हालांकि, यह कनवर्टर सभी कठिन उदाहरण I8217ve अपनी साइट पर चर्चा की स्वीकार करता है।) हालांकि सभी स्वीकार किए जाते हैं इनपुट के लिए, उत्पादन सही है (मेरे व्यापक परीक्षण से बचने के किसी भी बग के बावजूद)। दशमलव बाइनरी संख्या के समान प्रतिनिधित्व कर सकते हैं भी तैरता है अब मैंने पढ़ा है कि इसमें क्रमशः 0.5 के फ़्लोट्स हो सकते हैं। 0.1। 0.25। 0.01। 0.125। 0.001। और इसी तरह। लेकिन फिर, उदाहरण के लिए, कैसे 0.1 (दशमलव में) द्विआधारी में प्रतिनिधित्व किया जाता है, दशमलव दशमलव को दिया जाता है, इसे दशमलव समकक्ष में कैसे परिवर्तित किया जाता है, (यह बहुत सीधा नहीं है)। संपादित करें: तो मैं समझता हूं कि बेहतर सवाल यह होगा कि दशमलव फ्लोट को द्विआधारी में कैसे परिवर्तित किया जाए, अब मुझे लगता है कि हम दशमलव हिस्से को गुणा करते हैं, जब तक कि यह शून्य नहीं हो जाता। अब यह बहुत संभव है कि दो फ्लोटिंग पॉइंट्स का एक ही प्रतिनिधित्व हो सकता है, 1 दिसंबर को 1 9:41 सालों से पूछा गया साहिल: जब संख्याएं फ़्लोटिंग प्वाइंट में परिवर्तित हो जाती हैं (जैसे कि एक स्ट्रिंग पार्स करने से इसे एक अंक और इसे फ्लोटिंग प्वाइंट में कनवर्ट किया जाता है), अलग-अलग संख्या समान परिणाम उत्पन्न कर सकते हैं यह कहना असंभव है कि अस्थायी बिंदु परिणाम इन संख्याओं को दर्शाता है। आईईईई 754 मानक के अनुसार, एक अस्थायी बिंदु मूल्य ठीक एक संख्या का प्रतिनिधित्व करता है, जिसे आप मानक में निर्दिष्ट के रूप में अपनी एन्कोडिंग की व्याख्या करते हैं। आप कह सकते हैं कि दो अलग-अलग संख्याएं फ़्लोटिंग बिंदु में एक ही सन्निकटन हो सकती हैं, लेकिन यह याद रखना महत्वपूर्ण है कि यह केवल एक अनुमान है। ndash Eric Postpischil 1 दिसम्बर 12 को 23:10 एक अन्य अवलोकन जो उपयोगी हो सकता है एक अस्थायी बिंदु संख्या का पूर्णांक हिस्सा द्विआधारी में अपने सामान्य रूप में मौजूद है, उदाहरण के लिए यदि मान 25.7482 है, तो आपको फ्लोटिंग पॉइंट में बिट्स 11001 (25) होंगे, साथ में अंश का प्रतिनिधित्व करने के बाद बिट्स (वास्तव में पहले 1 को कभी भी संग्रहीत नहीं किया जाता है, इसका स्वरूप में प्रयुक्त होता है)। यदि आप उस संख्या से 25.0 घटाना चाहते हैं, और 10 गुणा करके, आप 7.482 प्राप्त करते हैं, और उस मान के पूर्णांक भाग की जांच करके, आप पहले आंशिक अंक प्राप्त कर सकते हैं। 7. घटाएं, 10 से 10 गुणा 4.82 देता है। इस प्रकार अगले अंक 4, और इसी तरह। यह प्रक्रिया अंततः शून्य परिणाम के साथ अंत में समाप्त हो जाएगी, क्योंकि सभी मूल्यों को फ़्लोटिंग-पॉइंट प्रारूप में ठीक तरह से प्रदर्शित किया जा सकता है, हालांकि सटीक दशमलव प्रस्तुति होती है, लेकिन वास्तविक परिणाम की वास्तविकता सटीक होने के कारण सटीक परिणाम बहुत अधिक अंक हो सकते हैं फ्लोटिंग प्वाइंट (और आपको पूरी तरह से सटीक परिणाम प्राप्त करने के लिए आंतरिक रूप से अतिरिक्त परिशुद्धता की आवश्यकता हो सकती है, किसी भी तरह - आपको 10 से गुणा करने के लिए एक गोलाकार त्रुटि उत्पन्न नहीं होती है) और, 6.432 ई-200 जैसी संख्याओं के लिए, यह विधि कार्यबल है, लेकिन बहुत कुशल नहीं है (पहले 6 उभरने से पहले आप 1 99 अंक पैदा कर सकते हैं)। 22 दिसंबर को 1 9: 44 द्विपदीय अंश दिए गए हैं, जब वे सिद्धांत में एक ही काम करते हैं, द्विआधारी अंश दशमलव अंकों से भिन्न होते हैं, जो कि अंकों की संख्या के साथ सटीक रूप से प्रतिनिधित्व कर सकते हैं, और इस प्रकार यह भी कि किस संख्या में गोल त्रुटियों में परिणाम होता है: विशेष रूप से , द्विआधारी केवल उन संख्याओं को एक परिमित अंश के रूप में प्रतिनिधित्व कर सकते हैं, जहां दोराहे 2 की शक्ति है। दुर्भाग्यवश, इसमें अधिकांश संख्या शामिल नहीं होती है, जो कि बेस 10 में परिमित अंश के रूप में प्रदर्शित की जा सकती है, जैसे कि 0.1। 4 अंकों के लिए गोलांक अंश के रूप में गोल किया गया और जब आप केवल 0.1 की तरह एक संख्या लिखते हैं और इसे अपने दुभाषिया या कंपाइलर के माध्यम से चलाते हैं, तो आप पहले से ही गोलाकार त्रुटि प्राप्त करते हैं। यह 380 के बराबर नहीं हो सकता है और अदृश्य हो सकता है क्योंकि कंप्यूटर को 4 या 4 की तुलना में 23 या 52 बाइनरी अंक के बाद काटा जाता है। लेकिन त्रुटि है और अंततः समस्याएं पैदा करेगा यदि आप इसे अनदेखा करेंगे। सबसे कम स्तर पर बाइनरी का उपयोग क्यों करें, कंप्यूटर बिलियन विद्युत तत्वों पर आधारित होते हैं जिनके पास केवल दो राज्य हैं, (आमतौर पर कम और उच्च वोल्टेज)। इन्हें 0 और 1 के रूप में व्याख्या करके, द्विआधारी संख्याओं को संचय करने और उनके साथ गणना करने के लिए सर्किट बनाने में बहुत आसान है इसकी संभवतः द्विआधारी सर्किट के साथ दशमलव संख्या के व्यवहार को भी अनुकरण करना, इसके कम कुशल यदि कंप्यूटर आंतरिक रूप से दशमलव संख्याओं का इस्तेमाल करते हैं, तो उनके पास कम स्मृति होती है और प्रौद्योगिकी के समान स्तर पर धीमा हो जाता है। चूंकि अधिकांश अनुप्रयोगों के लिए द्विआधारी और दशमलव संख्याओं के बीच व्यवहार में अंतर महत्वपूर्ण नहीं है, तार्किक विकल्प यह है कि बाइनरी संख्याओं के आधार पर कंप्यूटर का निर्माण किया जाए और इस तथ्य के साथ रहें कि कुछ अतिरिक्त देखभाल और प्रयास ऐसे अनुप्रयोगों के लिए आवश्यक हैं जिनके लिए दशमलव-समान व्यवहार की आवश्यकता होती है। फ़्लोटिंग-प्वाइंट गाइड होम बेसिक उत्तर संदर्भ xkcd संख्या स्वरूप

No comments:

Post a Comment