Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
более современного протокола PTPУ PTP иное предназначение и время там используется другое (международное атомное).
Ещё интересный вопрос — насколько корректно использовать битовую арифметику, учитывая, что интерпретатор python может быть запущен на множестве разных платформ с различным порядком байтов и различным размером типов переменных.
The form '!' is available for those poor souls who claim they can’t remember whether network byte order is big-endian or little-endian.
get_fraction не забыли? :)
def get_fraction(number, precision):
return int(number % 1. * 2. ** precision)
f = 12345.6789
bb = struct.pack('!II', int(f), get_fraction(f, 32))
g = struct.unpack('!Q', bb)[0] / 2 ** 32
print(g)
Пишем простой NTP-клиент