To double the amount of addresses one additional bit is all the is needed.
32-Bits = 4_GBits of addressing
33-Bits = 8_GBits of addressing
34-Bits = 16_GBits of addressing
35-Bits = 32_GBits of addressing
36-Bits = 64_GBits of addressing
-----
40-Bits = 1,024_GBits of addressing
48-Bits = 262,144_GBits of addressing
64-Bits = 17,179,869,184_GBits of addressing
Each bit is a binary switch. Each time you add a binary switch you double the amount of addresses the operating system can address.
If you are using a 32-bit operating system. The maximum amount of addresses is 4_GB. Remember everything in the computer needs addressing. After all hardware has been addressed then the remainder of the addresses can be alloted to system memory. This is why a 32-Bit operating system cannot address all 4GB of memory.
If you are using a 64-bit operating system. The maximum amount of addresses is 17,179,869,184_GB. This is a big jump from 4_GB. And they are now talking about 128-Bit operating systems as well.