मैं जानना चाहता हूं कि एक सरल गणित ऑपरेशन के लिए कौन सा रूपांतरण बेहतर है (प्रदर्शन/गति और परिशुद्धता/सबसे कम नुकसान के संबंध में) और उन्हें क्या अलग बनाता है?सरल गणित ऑपरेशन के लिए कौन सा संख्यात्मक प्रकार रूपांतरण बेहतर है?
उदाहरण:
double double1 = integer1/(5 * integer2);
var double2 = integer1/(5.0 * integer2);
var double3 = integer1/(5D * integer2);
var double4 = (double) integer1/(5 * integer2);
var double5 = integer1/(double) (5 * integer2);
var double6 = integer1/((double) 5 * integer2);
var double7 = integer1/(5 * (double) integer2);
var double8 = Convert.ToDouble(integer1/(5 * integer2));
var double9 = integer1/Convert.ToDouble(5 * integer2);
वास्तव में मेरे सवाल का रूपांतरण के बारे में है नहीं प्रकार ही।
'float1', 'float8' पूर्णांक विभाजन का उपयोग करेगा ताकि आप उन दोनों के बारे में तुरंत भूल सकें। बाकी के बारे में, यह वास्तव में इस बात पर निर्भर करता है कि 'integer1' और' integer2' के मान क्या हैं। मुझे लगता है कि आपको [यह] (http://stackoverflow.com/a/15117741/767890) पढ़ने की जरूरत है। निष्पादन के अनुसार, 'डबल 9' के लिए कोई कारण नहीं है, यह अनिवार्य रूप से 'डबल 5' जैसा ही है लेकिन अतिरिक्त संकेत के कारण धीमा है। – InBetween
फ्लोट ऑपरेशंस के बारे में अच्छा लिंक। – MagB
अगर मुझे * सीमांत * विजेता * प्रदर्शन के लिए शर्त लगाना पड़ा * * मैं 'डबल 4' या 'डबल 5' चुनता हूं और उन दोनों से, केवल पठनीयता के कारण, मैं' double4' चुनता हूं। – InBetween