Thread:Icefirephoenix/@comment-34929636-20180714075053

Computers generally store numbers in memory blocks of 8, 16, 32, or 64 bits. The maximum number of values possible in a 64-bit register is 2^64.

In order to use these values to get as large of a useful range as posible, we need both positive and negative numbers, as well as zero. REMEBER THAT ZERO TAKES ONE OF OUR VALUES. We do this by first dividing the values in half, then assign one half to represent negative numbers. This reduces the maximum positive value from 2^64 to 2^63. Then we need to include zero, so we subtract one from all positive numbers, leaving us with a limit of 2^63 - 1. 