Выражай время в "человеческих" единицах, но с запасом точности, например, в наносекундах (чтобы получилось всегда целое число). Дальше - формула автоматического пересчёта с целочисленным умножением и делением в нужные единицы (напр., в такты). Потери точности будут незначительны, лишь бы компилятор умел умножать/делить целые числа такой разрядности