मुझे लगता है कि एक दशमलव संख्या केवल बाइनरी सिस्टम में एक फ्लोट के रूप में इतनी सटीक संग्रहित हो सकती है, लेकिन मुझे नहीं पता कि 10/7 के मेरे आउटपुट में 7 दशमलव स्थान पर क्या हो रहा है ।जावा स्टोर कैसे फ्लोट बनाम
मेरे पहले आउटपुट टेस्ट में मैंने देखा कि फ्लोट वी के अंत में 5 (7 वां स्थान) 4 (7 वें स्थान) के बाद डबल में 2 होता है। मुझे लगता है कि होगा उसके बाद से दो में 8 वें स्थान पर एक 2.
फ्लोट १.४२८५७१५ डबल 1,4285714285714286
मैं तो नाव प्रारूप का उपयोग कर अगले उत्पादन परीक्षण भाग गया 17 है नाव में 7 वें स्थान पर एक 4 होगा स्थानों। प्रत्येक में 8 वां स्थान अलग है - फ्लोट एक 6 है, यही कारण है कि 7 वां स्थान 5 तक गोल किया गया है।
फ्लोट 1.428571462631225600 डबल 1,428571428571428600
तीसरे उत्पादन परीक्षण में मैं स्ट्रिंग प्रारूप के साथ एक सीधा कलाकारों की कोशिश की है देखने के लिए क्या होगा। मुझे दूसरे परीक्षण के समान परिणाम मिल गए।
यदि मेरे पास एक जटिल फ़्लोटिंग पॉइंट स्टोरेज विधि के लिए एक सरल सवाल है - मैं क्षमा चाहता हूं।
float f = 10/7f;
double d = 10/7d;
System.out.format
("Float %1s\nDouble %2s\n", f,d);
/*
* Float 1.4285715
Double 1.4285714285714286
*/
System.out.format
("Float %1$.17f\nDouble %2$.17f\n", f,d);
/*
* Float 1.428571462631225600
Double 1.428571428571428600
*/
System.out.format
("Float %1s\nDouble %2s\n", (double)f,d);
/*
* Float 1.4285714626312256
Double 1.4285714285714286
*/
आपका प्रश्न वास्तव में क्या है? (मुझे आपकी पोस्ट में कोई प्रश्न चिह्न नहीं दिख रहा है ...) – maerics
यह कितना डबल संग्रहीत है: - http://en.wikipedia.org/wiki/Double-precision_floating-point_format –