Mi chiedo solo, se voglio dividere a per b, e sono interessato sia al risultato ce al resto (ad esempio, diciamo che ho il numero di secondi e voglio dividerlo in minuti e secondi), qual è il modo migliore per farlo?
Sarebbe
int c = (int)a / b;
int d = a % b;
o
int c = (int)a / b;
int d = a - b * c;
o
double tmp = a / b;
int c = (int)tmp;
int d = (int)(0.5+(tmp-c)*b);
o
forse c'è una funzione magica che dà entrambi contemporaneamente?
double
(il tuo ultimo elemento) mi sembra una cattiva idea, ti ritroverai con numeri che non si allineano e possono costarti in termini di prestazioni e dimensione eseguibile (è sempre stato un problema per me su alcuni sistemi embedded).