float f = (float)numeric_limits<double>::infinity();
यह अनंत को f
सेट करने की गारंटी करता है, तो अपने संकलन मंच (यह आम तौर पर करता है) फ्लोटिंग प्वाइंट संगणना के लिए आईईईई 754 गणित करता है।
या वास्तव में, फ्लोट अधिकतम से अधिक फ्लोट पर कुछ भी बड़ा करने का प्रयास करें, क्या मैं अनंतता के साथ समाप्त होने की गारंटी देता हूं?
नहीं। डिफ़ॉल्ट आईईईई 754 में गोल करने के लिए निकटतम मोड, अधिकतम परिमित float
से कुछ ही double
मूल्यों (कि, FLT_MAX
है) FLT_MAX
में बदलने का। सटीक सीमा FLT_MAX
(0x1.fffffep127
सी 99 हेक्साडेसिमल प्रतिनिधित्व में) के बीच मिडवे है और अगले float
संख्या का प्रतिनिधित्व किया जा सकता है, यदि एकल-परिशुद्धता प्रारूप में एक्सपोनेंट की एक बड़ी श्रृंखला थी, 0x2.0p128
। इस प्रकार सीमा 0x1.ffffffp127
या दशमलव में लगभग 3.4028235677973366e + 38 है।
स्रोत
2013-07-19 16:32:41
आईईईई 754 अंकगणितीय (जो आम हैं) के साथ-साथ निकटतम मोड में। –
इस उत्तर के संदर्भ में, "कुछ" 536 मिलियन, 870 हजार, 9 11 है। –