Windows 32 bit is limited to a maximum of 4 gigs of ram however the OS itself will only see a maximum of 3.25, those that are showing 3.5 are only because you told it to take (amount of memory for video) and dedicate it to video.
Those that saying they see 3.5 out of 4 gigz because they have a 512 video card --- incorrect, on a dedicated video solution the amount allotted will be used as video cache, on and integrated (built in, shared) video solution it will use that amount as video ram, taking away from the system total of ram.
To take full advantage of 4+ gigz of ram you need to use a 64 bit OS, weather Vista or XP. Those of you on vista that actually see the 4 gigz or more (32 bit) that's just it u only see it, windows only knows how to use 3 gigz. They did come out with a patch for the 32 bit os's (mainly xp) but all the patch does is make it see the rest of the ram not use it.
Those running 4 gigz on a 32 bit os - you actually take a performance hit, even though windows might see all 4 gigz it only uses 3, and it doesn't know which 3 out of the 4 ... so guess where your performance hit is? The os slows down trying to keep track of which 3 gigz it can use.
Now for those of u thinking, well i can put a gig or 512 of that to video cache (like i stated earlier) and take advantage of it.... another performance hit, instead of reading from the HDD directly to the vidcard, you're going to : read from HDD, transfer thru your mem controller to your ram then from your ram thru the northbridge to your vidcard when it needs it. Guess which is faster?
For those of you reading and odd number (something that's not adding up to what u have in there) check to see if u did allot some of the ram to video. However if the pc is POSTing less ram than u have installed, maybe one of the ram chips on the ram sticks is bad.
/end of rant