का बाइनरी प्रतिनिधित्व हे सब, त्वरित प्रश्न: कैसे .NET decimal
प्रकार स्मृति में बाइनरी में प्रदर्शित होता है?एक .NET दशमलव
हम सभी जानते हैं कि कैसे चल बिन्दु संख्या जमा हो जाती है और thusly अशुद्धि के लिए उसके कारण, लेकिन मैं निम्नलिखित को छोड़कर किसी भी बारे में decimal
जानकारी प्राप्त नहीं कर सकते हैं:
- जाहिर अधिक floating- से सही बिन्दु संख्या
- स्मृति के 128 बिट ले जाता है
- 2^96 + सीमा पर हस्ताक्षर
- 28 (कभी कभी 29?) संख्या में कुल महत्वपूर्ण अंक
क्या कोई तरीका है जिससे मैं इसे समझ सकता हूं? मेरे में कंप्यूटर वैज्ञानिक उत्तर की मांग करता है और एक घंटे के शोध के बाद, मुझे यह नहीं मिल रहा है। ऐसा लगता है कि या तो बहुत सारे बर्बाद बिट्स हैं या मैं बस अपने सिर में यह गलत चित्रित कर रहा हूं। क्या कोई इस पर कुछ प्रकाश डाल सकता है? धन्यवाद।
+1 शानदार उत्तर, बिंदु के दाईं ओर और जानकारी के साथ समृद्ध। – JoshD
@ जैकोब: नहीं, यह * स्पष्ट * सच नहीं है। यह देखते हुए कि आप एक पूर्णांक से शुरू कर सकते हैं और 0.1 (कहें) के साथ समाप्त हो सकते हैं, यह स्पष्ट रूप से सही स्थानांतरित हो रहा है। यदि आप * केवल * बाईं ओर स्थानांतरित कर सकते हैं, तो आप 10, 100 इत्यादि का प्रतिनिधित्व करने में सक्षम होंगे - लेकिन 0.1, 0.01 आदि नहीं। भविष्य में, कृपया इस तरह के उत्तर का अर्थ बदलने से पहले "एएके" की प्रतीक्षा करें। 'दशमलव' के लिए प्रलेखन देखें: http://msdn.microsoft.com/en-us/library/1k2e8atx.aspx - जहां स्केलिंग कारक को * विभाजित * पूर्णांक के बारे में बात की जाती है, जो इसे स्थानांतरित करने के बराबर है सही। –
मेरी माफ़ी। मेरे लिए यह * दशमलव बिंदु * को * बाएं * में स्थानांतरित करने के बारे में सोचने के लिए और अधिक सहज है, लेकिन अब मुझे लगता है कि आप मंटिसा को "स्थानांतरित करने" का जिक्र कर रहे हैं। – Jacob