Geometric progression breaks your head, exhibit A:

2**53 nanoseconds is 104.25 days.
2**64 nanoseconds is 584.55 *years.*

(Correctly guess why those particular powers of two and win a fantabulous no-prize.)

@zwol Something something double-precision floating-point? That's 2**52, though, isn't it?
@MrDOS 52 explicit mantissa bits, but the implicit leading 1 gives you one more bit of range. See https://float.exposed/
Float Exposed

Floating point format explorer – binary representations of common floating point formats.

@zwol "don't put time in floats"

*uses JS integers*

"no, not like that"

@federicomena Python, but yeah. It's basically fine for my current thing! But not for file timestamps.
@zwol now I'm thinking that I don't know how Python stores integers...
@federicomena @zwol they're boxed. CPyrhon actually initializes a cache of a bunch of small numbers on startup.
@tedmielczarek @zwol *vague memories of refcounting code for cpython extensions*
@federicomena It has transparent bignums for integers BUT its stdlib likes to use floating-point values, scaled to 1.0 = 1 second, for time intervals. NumPy has multiple sizes of floating point but the core language 'float' is IEEE double.
@zwol mantissa of a float64 vs uint64?
@zwol @imartayan double vs. uint64_t or long double