आईईईई के नकारात्मक शून्य का अनुकरण कैसे कर सकते हैं?


9

मैं वर्तमान में जॉन गुस्ताफ़सन ( Youtube ) द्वारा "The End of Error - Unum Computing" पढ़ रहा हूं । मैं अभी भी इस बारे में निश्चित नहीं हूं कि आईईईई में नकारात्मक हस्ताक्षरित शून्य द्वारा संभाले गए मामलों को कैसे अनमोलों के साथ संभाला जाता है।

तो, सबसे पहले, कुछ निश्चित मानों (इसी तरह के फ़्लोटिंग पॉइंट्स) का प्रतिनिधित्व करने की अनुमति देते हैं और इसके अलावा सटीक मानों (सटीक -∞ और exact सहित) के बीच खुले अंतराल का प्रतिनिधित्व करने की अनुमति देते हैं। तो पूर्ण वास्तविक संख्या रेखा को वैकल्पिक मानों और खुले अंतरालों द्वारा दर्शाया गया है:

-∞, (-∞, -मैक्स्रियल), -मैक्स्रियल, ... -स्मॉलसुब्नॉर्मल, (-स्मॉलसुबनॉर्मल, 0),

0,

(0, smallsubnormal), smallsubnormal, ... अधिकतम, (अधिकतम, ∞), ub

इस तरीके में (IEEE परंपरा में) अंडरफ्लो और ओवरफ्लो जैसे असाधारण मूल्य सिर्फ कुछ खुले अंतराल हैं। दूसरे शब्दों में: ये पूर्व विशेष शर्तें अब नियमित मामलों में बदल जाती हैं।

IEEE का-{{-and} और (--, -maxreal) के मेल से मेल खाता है।

और हस्ताक्षरित शून्य अब अंतराल (-smallsubnormal, 0) और (0, smallsubnormal) हो सकता है।

हालाँकि, 1 / (- smallsubnormal, 0) अब (--, -मैक्स्रियल) और नॉट -∞ अकेला है। जबकि 1/0 ∞ है।

मैं अभी भी इस बारे में संकोच कर रहा हूं कि IEEE -0 और +0 में बराबर की तुलना करें। लेकिन वे चाचाओं में नहीं हैं। ऐसा लगता है कि मानचित्रण 100% नहीं है। इसलिए मुझे आश्चर्य है कि अगर वहाँ कॉर्नसेकस हैं जहां अंतर दिखाई दे सकता है (और यदि वे मामले वास्तव में प्रासंगिक हैं) तो।

(मैं कर रहा हूँ के बारे में पता क्यों नकारात्मक है शून्य महत्वपूर्ण है? , नकारात्मक चल बिन्दु मूल्य के लिए उपयोग )


1
आप क्यों सोचेंगे कि मैपिंग को 1-टू -1 करने की आवश्यकता है? आपके द्वारा जुड़े प्रश्नों में बताए गए कारण गैर-मुद्दों के साथ हैं, इसलिए एक नकारात्मक शून्य क्यों बनाया जाए?
साधारण

@Ordous: क्योंकि (Ch.18.1, p.257) "Unums फ़्लोटर्स का एक सुपरसेट हैं। फ़्लोट्स केवल एक सीम हैं जिसके लिए ubit शून्य etcetc है।" जो सभी (सहित guess) का सुझाव है कि एक या अधिक (या एक शुरुआत के रूप में) का शाब्दिक अनुवाद कर सकते हैं। मैं पूरी तरह से अवगत हूँ कि एक शाब्दिक अनुवाद अनमनों का पूरा फायदा नहीं उठाता है।
झूठी

5
हाथ में किताब लिए बिना किसी उद्धरण के खिलाफ बहस करना काफी मुश्किल है। हालांकि आईईईई प्रस्तुति में उनकी स्लाइड्स को अनम कंप्यूटिंग के एक लाभ के रूप में कहा गया है: "अंडरफ्लो की कोई आवश्यकता नहीं"। इसलिए, नकारात्मक शून्य की कोई आवश्यकता नहीं है, क्योंकि यह ठीक से कम प्रवाह है। हो सकता है कि आप नकारात्मक शून्य को शामिल करने के लिए इस प्रणाली का विस्तार कर सकते हैं, लेकिन ऐसा करने का कोई कारण नहीं है। IEEE में ईमानदारी से नकारात्मक 0 गणित के साथ असंगत है ।
साधारण

@Ordous: अंडरफ्लो को खुले अंतराल (-smallsubnormal, 0) और इसके सकारात्मक समकक्ष द्वारा नियंत्रित किया जाता है। तो ये -0 और +0 के सबसे करीब हैं। लेकिन क्या यह अंतराल वास्तव में ऐसा हो सकता है?
झूठी

8
अंडरफ्लो यहाँ "संभाला" नहीं है, यह अभी मौजूद नहीं है । नकारात्मक 0 IEEE में एक समस्या है और यह मानक अन्य चीजों के साथ इसे ठीक करने की कोशिश कर रहा है। आप -0 और +0 की बराबरी नहीं कर सकते हैं, लेकिन चूंकि IEEE में उनका अंतर 0 है, इसलिए उन्हें बराबर होना चाहिए। इस विरोधाभास का कोई अच्छा समाधान नहीं है। Unums में वे करते हैं एक अंतर है, इसलिए वे नहीं कर सकते बराबर हो। सिस्टम का पूरा बिंदु IEEE में समस्याओं को ठीक करना है, लेकिन इसका मतलब यह है कि इसके साथ असंगत है। यह उक्त विसंगतियों में से एक है। और कारण उनकी पुस्तक में पुराने मानकों का उपयोग करने के लिए एक प्रस्तावित अंतर्निहित प्रणाली है।
आयुध

जवाबों:


3

एक टिप्पणी के लिए बहुत लंबा है, इसलिए इसे एक उत्तर के रूप में लिखना ...

IEEE में समस्या यह है कि हमारे पास अंतर करने के लिए तीन मामले हैं, लेकिन इनमें से केवल दो अभ्यावेदन हैं:

  • ऋणात्मक मान, निरपेक्ष मान बहुत छोटा है - यह IEEE -0.0 द्वारा दर्शाया गया है और आसानी से मैप किया जा सकता है (-smallsubnormal,0)
  • आईईईई 0.0 द्वारा दर्शाए गए मूल्य को बिल्कुल शून्य, मैप किया गया 0
  • सकारात्मक मूल्य का प्रतिनिधित्व करने के लिए बहुत छोटा; यह एक IEEE प्रतिनिधित्व 0.0 के रूप में अच्छी तरह से है, लेकिन करने के लिए मैप किया जाना चाहिए (0, +smallsubnormal)

समस्या अब नकारात्मक शून्य नहीं है, लेकिन अगर हम IEEE 0.0 दूसरे या तीसरे मामले में अंतर नहीं कर सकते हैं! दूसरे शब्दों में: UNUM से IEEE में मैपिंग फ़ंक्शन विशेषण नहीं है - और कभी भी नहीं होगा, जैसा कि किसी अन्य IEEE मूल्य के लिए भी है, हम कभी भी नहीं जानते कि क्या यह सटीक या अंतराल है!

इसलिए मुझे लगता है कि यह -0.0 से मैप करने के लिए बिल्कुल ठीक है (-smallsubnormal,0), और हमें यह तय करने की आवश्यकता है कि क्या IEEE 0.0 को मैप करना है 0या संभवतः बेहतर करना है (0, +smallsubnormal)। मैं व्यक्तिगत रूप से पहले की ओर रुख करता हूं, लेकिन यह बहुत आधिकारिक नहीं है ...

आईईईई (-0.0 के बराबर 0.0) के साथ तुलना करने के लिए के रूप में: एक चाहिए (लगभग) कभी भी सटीक समानता के लिए कभी भी तुलना नहीं करनी चाहिए (सी या सी ++: == ऑपरेटर), लेकिन केवल अंतर के पूर्ण मूल्य के लिए कुछ उपयुक्त सीमा से छोटा होने के लिए। यह समस्या केवल यूएनयूएमएस के साथ ही आंशिक रूप से समाप्त हो गई है, क्योंकि अब हम सटीक समानता के लिए तुलना कर सकते हैं, अगर यू-बिट सेट नहीं है, लेकिन इसके सेट होने के साथ, हम अभी भी वास्तव में नहीं जानते हैं ...

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.