Я пытаюсь написать вспомогательный метод в iOS, чтобы позволить мне использовать mach_absolute_time()
в секундах (или наносекундах), чтобы я мог найти производные по времени входящие данные датчика устройства. Вот моя попытка:
#include <mach/mach_time.h>
- (double) convertMachAbsoluteTimeIntoSeconds:(uint64_t) mach_time {
mach_timebase_info_data_t _clock_timebase;
double nanos = (mach_time * _clock_timebase.numer) / _clock_timebase.denom;
return nanos / 10e9;
}
Приведенный выше код компилируется, но текущее предупреждение, которое я получаю, заключается в том, что «правильный операнд *» является значением мусора ». Кроме того, в любом случае он не дает разумного результата: /
Из того, что я прочитал, mach_absolute_time()
имеет некоторые особенности, поэтому я подумал, что получение этой работы может быть полезным для других.
Вся помощь любезно получена. Спасибо
//// РЕДАКТИРОВАТЬ ////
Благодаря сверхбыстрому ответу Роба Нейпера, вот метод с включенной инициализацией:
#include <mach/mach_time.h>
- (double) convertMachAbsoluteTimeIntoSeconds:(uint64_t) mach_time {
mach_timebase_info_data_t _clock_timebase;
mach_timebase_info(&_clock_timebase); // Initialize timebase_info
double nanos = (mach_time * _clock_timebase.numer) / _clock_timebase.denom;
return nanos / 10e9;
}