Je me demande simplement, si je veux diviser a par b, et si je suis intéressé à la fois par le résultat c et le reste (par exemple, disons que j'ai un nombre de secondes et que je veux le diviser en minutes et secondes), quelle est la meilleure façon de allez-y?
Serait-ce
int c = (int)a / b;
int d = a % b;
ou
int c = (int)a / b;
int d = a - b * c;
ou
double tmp = a / b;
int c = (int)tmp;
int d = (int)(0.5+(tmp-c)*b);
ou
peut-être y a-t-il une fonction magique qui donne les deux à la fois?
double
(votre dernier élément) me semble être une mauvaise idée, vous vous retrouverez avec des chiffres qui ne correspondent pas, et peuvent vous coûter en performances et taille de l'exécutable (a toujours été un problème pour moi sur certains systèmes embarqués).