c++ - Reading string in to float produces incorrect accuracy -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 3 जवाब
अब मैं समझता हूँ फ्लोट
s डबल
से कम सटीक हैं, लेकिन जब यह मेरे पास है std :: string
:
" 7.6317 "
और मैं करता हूँ:
फ्लोट x = एटफ़ (myString.c_str ());
हो रही 7.63170004 की उम्मीद है? क्या कोई तरीका है मैं केवल पहले 4 दशमलव स्थानों को पढ़ने के लिए एक्स के असाइनमेंट को बता सकता हूं? या फ्लोट प्रतिनिधित्व किस तरह से संख्या 7.6317 स्टोर करता है, इसका कारण यह है?
कुछ फ़्लोटिंग प्वाइंट लिटरल्स नहीं करते हैं कंप्यूटर में सही प्रतिनिधित्व है, भले ही - दशमलव संकेतन में - संख्या हानिकारक लगता है। इसका कारण यह है कि कंप्यूटर आधार के रूप में 2 का उपयोग करता है। इसलिए भले ही किसी संख्या में 10 के आधार पर एक सीमित प्रतिनिधित्व हो, हो सकता है कि यह आधार 2 पर न हो।
Comments
Post a Comment