Secondly, there is a very simple explanation for this, so here goes.
Understand that when it has a 32 GB chip in it, it is 32,000,000,000 bytes. Most operating systems do not count in 10 based math, but 2 based math. This means that every 1000 is actually 1024 (28=1024) and this is the closest they can come to 1000. So, taking the 32,000,000,000 and converting to GB is actually starting with 29.8 GB. This is the same reason a 1 TB HD formats to 931 GB.
On a windows PC, the C:\ drive is typically the ONLY drive there is. All your system files, user files, temp files, and virtual memory (pagefile) are stored on the C:\ drive.
Android is not set up this way. There is some genius to this because you can jam pack the internal storage with files, and the device will still run. On a windows computer, if you fill the C:\ drive, it will not run very well because it does not have room left for the OS to operate.
There are separate partitions for:
/recovery (where the system recovery is installed) typically 50-100 MB
/boot (where the boot up file are) and is typically 300-600 MB
/system (where the OS is installed) and is approximately 300-600 MB
/cache (temp files and virtual memory) and is approximately 300-600 MB
/data (this is the rest of the room and is your /sdcard directory).
If we take the total (29.8) and subtract the other partitions, we come up with about 26.5 GB. It varies from firmware to firmware how much is in each partition.
Keep in mind that the M$ Surface tablets that have a 32 GB internal storage ship with about 15-16 GB of usable after the OS is installed.