В настоящее время я пишу клиент и сервер NTP на Java. Я рассчитываю смещение и задержку туда и обратно, используя временные метки NTP. Я должен отметить, что я вычисляю их для секунд (первые 32 бита) и дробей (вторые 32 бита) отдельно. Я получаю результаты смещения, такие как 0 секунд и 1859395165 дробей.
Мой вопрос: как я могу использовать эти смещения, чтобы распечатать, каким было бы мое системное время, если бы оно было скорректировано в соответствии с заданным смещением?
Я думал, что могу просто добавить дроби к дробной части временной метки для текущего времени моей системы, но если сумма дробей будет больше 1 секунды, я полагаю, что у меня возникнут проблемы, поскольку мои секунды будут тогда неверны.