
If you want to see more comics like this, sign up for my saturday comics newsletter or browse more comics!

read the transcript!
### the (64-bit) floating point number line Floating point numbers aren’t evenly distributed. Instead, they’re organized into windows: [0.25, 0.5], [0.5, 1], [1,2], [2,4], [4,8], [8,16], all the way up to [2^1023, 2^1024].
Every window has 2^52 floats in it.
- between -2 and -1
- between -1 and - 1/2
- between - 1/2 and - 1/4
- between - 1/4 and 0
- between 0 and 1/4
- between 1/4 and 1/2
- between 1/2 and 1
- between 1 and 2
the windows go from REALLY small to REALLY big
The window closest to 0 is [2-1023 2-1022].
This is TINY: a hydrogen atom weighs about 2^-76 grams.
The biggest window is [2^1023, 2^1024].
This is HUUUGE: the farthest galaxy we know about is about 2^90 meters away.
the gaps between floats double with every window
- window: [1, 2] gap: 2^-52
- window: [2, 4] gap: 2^-51
- window: [4, 8] gap: 2^-50
- window: [8, 16] gap: 2^-49
why does 10000000000000000.0 + 1 = 10000000000000000.0?
- In the window [2^n, 2^n+1], the gap between floats is 2^n-52
10000000000000000.0
is in the window [2^53, 2^54], where the gap is 2^1 (or 2)- So the next float after
10000000000000000.0
is10000000000000002.0
Saturday Morning Comics!
Want another comic like this in your email every Saturday? Sign up here!