I've been playing around with the time.time() function, which prints the time elapsed since . When printing its result, I've tried multiplying it with a number on the power of 10. I've expected that I will eventually see a number with zeroes at the end (e.g. 1516895254.85 * 10000 = 15168952548500). Instead, it went as far as printing a 309-digit number, with no zeroes at the end, when reaching the function's precision.
>>> print('{0}'.format(int(time() * (10**299))))
151688275429037515979926334429405401106271490533817517185371446220795471128402317934144559501851174348970520458946580306822182798812776130098014987340202895198224161052094530708120342982016788576011755725325408112135784020427445752709662939740525586044947507255593760381150928852505533344315172483047700299776
At 310, it didn't start printing zeroes, but gave me the error message:
OverflowError: long int too large to convert to float
It seems impossible that python's time measurement would be THAT precise. Does anyone know what is happening? Are these random digits? Or am I misunderstanding something here?
Edit: Thank you for your answers, sorry for asking a duplicate question.