32-bits = 2^32 which is roughly 4 billion or 4,000,000,000 unique numbers, which means you can easily jump to 4 billion different bytes in memory. 64-bits = 2^64 which is roughly 18,000,000,000,000,000,000. Assuming we still use bytes as our smallest unit (which I don't think will ever really change), that's about 18 ExaBytes (18 EB) of data that can be addressed in main memory.