The hard drive manufacturer considers 1TB to be 10^12 bytes whereas most software considers it to be 2^40 bytes. The difference between the two is what causes it to appear smaller than advertised
In slightly easier terms to understand an actual gigabyte is considered 1024 Megabytes. However manufacturers consider 1000 Megabytes to be one gigabyte. So you actually only get 931gigabytes.
The easiest way to roughly figure out the size any OS will see a new hard drive is this: # of GB X 0.93. Also, as many has stated, the hard drive OEM's label 1,000GB at 1TB.