C ++ Лучший способ получить целочисленное деление и остаток

Мне просто интересно, хочу ли я разделить a на b, и меня интересует как результат c, так и остаток (например, скажем, у меня есть количество секунд и хотите разделить это на минуты и секунды), как лучше всего это сделать?

Будет ли это

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);

или

, может быть, есть магическая функция, которая дает по одному одновременно?

91
задан Cookie 15 August 2011 в 20:21
поделиться