जबकि Double.max
नहीं है, यह सी float.h
शीर्षलेख में परिभाषित किया गया है, जिसे आप import Darwin
के माध्यम से स्विफ्ट में एक्सेस कर सकते हैं।
import Darwin
let fmax = FLT_MAX
let dmax = DBL_MAX
ये मोटे तौर पर 3.4 * 10^38
और 1.79 * 10^308
क्रमशः रहे हैं।
लेकिन भालू मन में यह चल बिन्दु संख्या (यह चल बिन्दु संख्या के साथ सरल कभी नहीं है) के साथ इतना आसान नहीं है। जब यह बड़ी संख्या पकड़े, आप बहुत छोटी संख्या के साथ परिशुद्धता खोने के लिए एक समान तरीके से सटीक खो देते हैं, तो:
let d = DBL_MAX
let e = d - 1.0
let diff = d - e
diff == 0.0 // true
let maxPlusOne = DBL_MAX + 1
maxPlusOne == d // true
let inf = DBL_MAX * 2
// perhaps infinity is the “maximum”
inf == Double.infinity // true
तो इससे पहले कि आप कुछ गणना कि संभवतः इन सीमाओं के खिलाफ ब्रश सकता है में हो, तो आप शायद पढ़ना चाहिए फ्लोटिंग प्वाइंट पर ऊपर। Here और here शायद एक अच्छी शुरुआत है।
स्रोत
2015-02-15 12:23:19
मैं Xcode खेल के मैदान में आप कोड कोशिश करते हैं और मिल 'हूँ (+ अनंत)' डबल के लिए और फ्लोट के लिए 340,282,346,638,529,000,000,000,000,000,000,000,000.0। डबल और इंट 64 दोनों में 64 बिट क्यों है लेकिन डबल अधिक संख्या स्टोर कर सकता है? –
आपको फ़्लोटिंग पॉइंट प्रस्तुति के बारे में जानने की आवश्यकता है। (Http://en.wikipedia.org/wiki/Floating_point) [विकिपीडिया लेख] के साथ शुरू करो और यह भी [इस परिचय] (http://introcs.cs.princeton.edu/java/91float/) –
तुम इतने धन्यवाद बहुत। मैं उन्हें सब पढ़ूंगा। –