Дмитрий2012, если время потом нужно вывести, то как предложил char можно сделать табличку с константами 864000000, 86400000, 36000000, 3600000, 600000, 60000, 10000, 1000, 100, 10, 1 и подсчитывая сколько раз их можно вычесть без переполнения, сразу получать нужные цифры. Причём первые три константы имеют нулевой младший байт, что позволяет вычитать только старшие три байта, после этого останется число не более 36000000, которое не влезает в три байта, но если его и остальные константы умножить на 2, то на этом шаге тоже можно будет обойтись 24-битным вычитанием, после вычитания 2*10000 можно перейти к 16-битному вычитанию, а после вычитания 2*100 остаётся 8-битное, ну а для последней цифры цикл уже не нужен, нужно только поделить остаток на 2. Есть сильное подозрение, что данный алгоритм будет работать быстрее чем деление на 1000, 60, 60 и 24.




Ответить с цитированием