Math behind 4GB limit on 32 bit systems
I have a very fundamental question relating to 32 bit memory addresses. My understanding is that 2^32 is the maximum number of possible memory addresses on a 32 bit system. Where I am confused is how we go from this number to the alleged 4GB limit. In my research I have seen some people do this: 2^32 = 4,294,967,296 bytes 4,294,967,296 / (1,024 * 1,024) = ~4 GB First, where does this (1,024 * 1,024) come from? Second, correct me if I am wrong, but 4,294,967,296 is labeled as bytes because a byte is the smallest unit of storage space that can be addressed in RAM. Since we're limited to 2^32