2013-10-02 8 views
6

मैं अभी तक वेब पर कहीं भी इसका कोई अच्छा स्पष्टीकरण नहीं ढूंढ पाया है, इसलिए मुझे उम्मीद है कि यहां कोई भी मेरे लिए इसे समझा सकता है।गोद लेने के बाद फ्लोटिंग प्वाइंट नंबर (गार्ड, चिपचिपा, और गोल बिट्स)

मैं हाथ से दो द्विआधारी संख्या जोड़ना चाहते हैं:

1,001 * 2
1.010,0000,0000,0000,0000,0011 * 2

मैं उन्हें कोई समस्या नहीं जोड़ सकता, मुझे पहले नंबर को सामान्य करने, दो जोड़ने और उन्हें फिर से सामान्य करने के बाद निम्न परिणाम मिलता है।

1.1100,0000,0000,0000,0000,0011 * 2

मुद्दा है, उस नंबर एकल परिशुद्धता में फिट नहीं होगा आईईईई छोटा बिना 754 प्रारूप या एक बिट गोल करना। मेरा असाइनमेंट पूछता है कि हम इस नंबर को सिंगल-प्रेसिजन आईईईई 754 प्रारूप में डालते हैं (जो फिर से, आमतौर पर कोई समस्या नहीं है, मैं इसे आसान कर सकता हूं)। यह हमें पहले गार्ड, राउंड और चिपचिपा बिट्स के साथ ऐसा करने के लिए कहता है और फिर इन बिट्स के बिना दोहराता है। हालांकि, मुझे बिल्कुल यकीन नहीं है कि ये बिट्स गोल करने में कैसे मदद करते हैं। मुझे लगता है कि अगर मैं गार्ड, राउंड और चिपचिपा बिट्स के बिना ऐसा करना चाहता हूं तो मैं आखिरी एलएसबी को तोड़ दूंगा।

+4

यह मदद कर सकता है: काट-छांट करने के लिए एक विकल्प के रूप http://pages.cs.wisc.edu/~david/courses/cs552/S12/handouts/guardbits.pdf –

+0

, के लिए सीधे आवेदन करने दौर करने वाली निकटतम पर विचार असीम सटीक उत्तर। –

+1

@ रिक Regan_It मददगार था :) – Pooria

उत्तर

5

एकल परिशुद्धता का मतलब है कि मंटिसा में 23 बिट्स (32 बिट आर्किटेक्चर मानते हैं), साथ ही एक छिपी हुई है। इसलिए पहला व्यक्ति मंथिसा से गायब हो जाता है।

अगला जी और आर बिट्स या गार्ड और राउंड बिट निर्धारित करना है।

गार्ड बिट मंटिसा के 0 बिट के पीछे दो बिट्स में से पहला है जो कटऑफ होगा।

दौर सा अपूर्णांश की ओ बिट के बाद दूसरा बिट है। यहां थोड़ा सा रक्षक 1 है और राउंड बिट शून्य है क्योंकि कोई अन्य बिट मौजूद नहीं है।

चिपचिपा बिट भी शून्य है क्योंकि राउंड बिट के दाईं ओर कोई भी नहीं है। इसलिए हम GRS या 100

किताब या प्रोसेसर पर निर्भर करता है इस्तेमाल किया जा रहा यह सामान्य रूप से निकटतम सम संख्या के दौर का मतलब है। इस मामले में एलएसबी (कम से कम महत्वपूर्ण बिट) 1 है क्योंकि यह संख्या मंटिसा के लिए 1100,0000,0000,0000,0000,010 तक गोल की जाएगी।

संबंधित मुद्दे