Если это домашнее задание, вы действительно должны пометить его тегом домашнего задания.
Запустите программу в отладчике и проверьте значения r0 и r1 (или используйте printf).Должно быть очевидно, что эти два вычисления делают, когда вы видите эти значения.
Редактировать 6/18
Для простоты вычислений, скажем, countsPerSecond
имеетзначение 5 и timeInCounts
равно 17. Вычисление timeInCounts / countsPerSecond
делит одно __int64
на другое __int64
, поэтому результатом также будет __int64
.Деление 17 на 5 дает нам результат 3, который затем приводится к двойному значению, поэтому r0 устанавливается на значение 3.0.
Вычисление (timeInCounts/countsPerSecond)*countsPerSecond
дает нам значение 15, которое затем вычитается из timeInCounts
, даваянам значение 2.
Если бы целое значение 2 было разделено на целое значение 5, мы бы получили ноль. Но , делитель приводится к двойному, поэтому целое значение 2 делится на двойное значение 5,0.Это дает нам двойной результат, поэтому r1 устанавливается равным 0,4.
Наконец, r0 и r1 складываются вместе, давая окончательный результат 3.4.