A 32-bit register can store 232 different values. The signed range of integer values that can be stored in 32 bits is -2,147,483,648 through 2,147,483,647 (unsigned: 0 through 4,294,967,295). Hence, a processor with 32-bit memory addresses can directly access 4 GiB of byte-addressable memory.
https://en.wikipedia.org/wiki/32-bit
What confuses me is that we are talking about a 32-bit processor which can address 232 different addresses. But now 232 is in bytes and not bits, why is that?