quadruple
का उपयोग किए बिना double
परिशुद्धता के साथ 16 से अधिक अंक प्राप्त करना संभव है? यदि यह संभव है, तो यह संकलक या कुछ और पर निर्भर करता है? क्योंकि मुझे पता है कि किसी ने कहा था कि वह double
परिशुद्धता के साथ काम कर रहा था और इसमें 22 अंकों की सटीकता थी।विस्तारित डबल परिशुद्धता
उत्तर
डेटा प्रकार double precision
फोरट्रान 77 से उत्पन्न होता है, और उस प्रकार की एकमात्र आवश्यकता यह है कि real
से अधिक सटीकता है। आपको इसका और उपयोग नहीं करना चाहिए।
फोरट्रान 90/95 और उसके बाद, वास्तविक संख्याओं के कम से कम दो आकार समर्थित हैं। परिशुद्धता kind
पैरामीटर द्वारा निर्धारित की जाती है, जिसमें से मूल्य संकलक पर निर्भर करता है।
integer, parameter :: long_double = SELECTED_REAL_KIND(22)
तो आप
real(kind=long_double) :: a, b
के रूप में अपने चर घोषणा कर सकते हैं:
real(kind=8) :: a, b
परिशुद्धता को परिभाषित करने के लिए एक पोर्टेबल तरीका है करने के लिए, आप एक kind
मूल्य का उपयोग कर एक निश्चित परिशुद्धता की अनुमति देता है प्राप्त कर सकते हैं
लेकिन यह निश्चित नहीं है कि आपका कंपाइलर उस परिशुद्धता का समर्थन करेगा, इस स्थिति में SELECTED_REAL_KIND
फ़ंक्शन एक ऋणात्मक संख्या लौटाएगा।
पहले उत्तर राज्यों के रूप में भी this post
देखते हैं, सबसे पोर्टेबल तरीका निर्दिष्ट करने के लिए संख्या की शुद्धता आंतरिक कार्यों का उपयोग करने के लिए है। भाषा की डिजाइन अवधारणा यह है कि आप यह समझते हैं कि आपकी गणना के लिए सटीकता की आवश्यकता है और इसका अनुरोध करें, और संकलक उस परिशुद्धता या बेहतर प्रदान करता है। उदाहरण के लिए, यदि आप गणना करते हैं कि आपका अंतर समीकरण समाधान 11 दशमलव आंकड़ों के साथ स्थिर है, तो आप इस मान का अनुरोध करते हैं और संकलक आपकी आवश्यकता को पूरा करने के लिए सर्वोत्तम प्रकार प्रदान करता है। यह अधिकांश प्रोग्रामर के लिए एक विदेशी दृष्टिकोण है, जिनका उपयोग हार्डवेयर द्वारा प्रदान किए गए कुछ विकल्पों के बजाय सोचने के लिए किया जाता है, और शायद इतना आसान नहीं है क्योंकि हम में से कुछ संख्यात्मक विश्लेषकों हैं।
यदि आप SELECTED_REAL_KIND आंतरिक का उपयोग करना चाहते हैं और अपने विशेष कंपाइलर और हार्डवेयर के लिए ऑप्टिमाइज़ करना चाहते हैं, तो आप प्रयोग करना चाहेंगे। कुछ संयोजन सॉफ्टवेयर में चतुर्भुज परिशुद्धता प्रदान करेंगे, जो धीमा हो जाएगा। एक कंपाइलर जिसमें डबल परिशुद्धता और 10-बाइट विस्तारित परिशुद्धता है, वह चयनित_real_kind (17) के माध्यम से लंबा प्रकार प्रदान करेगा। एक कंपाइलर जिसमें डबल परिशुद्धता और चौगुनी परिशुद्धता है लेकिन 10-बाइट विस्तारित परिशुद्धता चयनित_real_kind (17) या select_real_kind (32) के माध्यम से चौकोर परिशुद्धता प्रदान नहीं करेगी। (मुझे किसी भी कंपाइलर से अवगत नहीं है जो 10-बाइट विस्तारित और चतुर्भुज दोनों का समर्थन करता है।) कंपाइलर जिसमें क्वाड्रोपोल परिशुद्धता की कमी है, चयनित_real_kind (32) के लिए -1 लौटाएगा।
- 1. सी # डबल परिशुद्धता समस्या
- 2. सी # उच्च डबल परिशुद्धता
- 3. SSE2: डबल परिशुद्धता लॉग समारोह
- 4. डबल परिशुद्धता परिवर्धन में सहायता
- 5. आईफोन/आईपैड डबल परिशुद्धता गणित
- 6. डबल-सटीक तर्कों से शुरू होने वाले 80-बिट विस्तारित परिशुद्धता कंप्यूटेशंस की गुण
- 7. अगले उच्च/निचले आईईईई डबल परिशुद्धता संख्या
- 8. हाइबरनेट: मिला: फ्लोट, अपेक्षित: डबल परिशुद्धता
- 9. क्यूस्ट्रिंग :: टू डबल() मुझे गलत परिशुद्धता
- 10. डीबग/रिलीज मोड में फ्लोट/डबल परिशुद्धता
- 11. यह पता लगाने के लिए कि लंबा डबल विस्तारित परिशुद्धता का है या संकलन समय पर नहीं
- 12. पायथन "फ्लोट" और पोस्टग्रेएसक्यूएल की फ्लोटिंग पॉइंट संख्या "डबल परिशुद्धता"
- 13. VBA परिशुद्धता समस्या में डबल की तुलना करें
- 14. आईओएस पर पूर्ण परिशुद्धता के साथ डबल प्रिंट कैसे करें?
- 15. सी # में 15 अंकों की डबल टाइप परिशुद्धता नहीं थी?
- 16. परिशुद्धता
- 17. जैक्सन - नियंत्रित परिशुद्धता
- 18. डबल
- 19. लंबे डबल बनाम डबल
- 20. % जी परिशुद्धता
- 21. डेटटाइम परिशुद्धता?
- 22. दशमलव परिशुद्धता
- 23. विस्तारित प्रेसिजन फ्लोटिंग प्वाइंट लाइब्रेरी C/C++
- 24. डबल? = डबल? + डबल?
- 25. डबल से फ्लोट
- 26. सी # के लिए "विस्तारित" के बराबर कोई समकक्ष?
- 27. numpy.float128 की आंतरिक परिशुद्धता क्या है?
- 28. डबल - आईईईई 754 विकल्प
- 29. सी ++ बनाम अजगर परिशुद्धता
- 30. एसक्यूएल डेटटाइम परिशुद्धता
लेकिन आपने 'पूर्णांक' लिखा था। क्या केवल 'पूर्णांक' में 22 अंक 'डबल' नहीं हो सकते हैं? – Shibli
'long_double' एक पूर्णांक है जिसका उपयोग' वास्तविक 'चर' ''' और 'b' के 'प्रकार' को इंगित करने के लिए किया जाता है, जिसमें कम से कम सटीकता 22 – steabert
@Shibli यह अक्सर प्राप्त करने के लिए उपयोगी होती है पोर्टेबल तरीके से आपके सिस्टम पर एकल और डबल परिशुद्धता तैरती है। इसके लिए 'पूर्णांक, पैरामीटर :: एसपी = प्रकार (1.e0) 'और' पूर्णांक, पैरामीटर :: डीपी = प्रकार (1.d0)' का उपयोग कर सकते हैं। फिर आप एक वास्तविक परिशुद्धता फ्लोट को 'असली (दयालु = डीपी) :: डबल' के रूप में घोषित कर सकते हैं। – Chris