Actually, full addressing range is 0 - 4,294,967,295 (decimal), 0-FFFFFFFF (hexadecimal).
Windows requires some RAM for various items, hardware and software, which brings you back down. (Hardware has reserved some memory addresses, due to the PC hardware infrastructure, such as a memory window for VGA video, about 16 Megs, etc., - who uses VGA, these days? -)
Prior to Vista, the hardware limitation was 3.2 Gigs, but with the Vista Hardware Qualification, it is now above 4 Gigs, but Windows O/S (32 bit) is still limited by the 32 bit wide address scheme. Even at the 3 Gig limit, the higher memory address range was "negative" memory, as anthing above 31 bit address was considered a negative number......a goof, due to lack of foresight by the software developers. But that has been corrected in XP/Vista.