प्राप्त करने का सबसे अच्छा तरीका मैं सोच रहा हूं, अगर मैं बी द्वारा विभाजित करना चाहता हूं, और परिणाम सी और शेष दोनों में दिलचस्पी है (उदाहरण के लिए मेरे पास सेकंड की संख्या है और इसे विभाजित करना चाहते हैं मिनटों और सेकंड में), इसके बारे में जाने का सबसे अच्छा तरीका क्या है?सी ++ पूर्णांक विभाजन और शेष
यह
int c = (int)a/b;
int d = a % b;
या
int c = (int)a/b;
int d = a - b * c;
या
double tmp = a/b;
int c = (int)tmp;
int d = (int)(0.5+(tmp-c)*b);
या
शायद वहाँ एक जादुई समारोह है कि एक बार में एक दोनों देता है? होगा
नीचे दिए गए सभी उत्तर उचित प्रतीत होते हैं, मैं बस यह जोड़ना चाहूंगा कि 'डबल' (आपकी आखिरी वस्तु) के साथ कोई भी मकिंग मुझे एक बुरा विचार की तरह लगता है, आप उन संख्याओं के साथ समाप्त हो जाएंगे जो लाइन नहीं करते हैं, और आपको प्रदर्शन और निष्पादन योग्य आकार में खर्च हो सकता है (कुछ एम्बेडेड सिस्टम पर हमेशा मेरे लिए एक मुद्दा था)। – nhed
तीसरा एक बीएडी विकल्प है: क्या होगा यदि tmp = 54.999999999999943157? यह कहा, पुरानी शैली कास्टिंग कभी करने के लिए एक चालाक बात नहीं है। – jimifiki