How? 1TB Hard Drive Is 931GB in Windows when 1024 binary is greater than 1000 decimal by 24?

SecretSociety

Commendable
May 6, 2016
4
0
1,510
I know base 2 and base 10. I know computers like base 2 and humans like base 10. I just can't for some reason rap my head around the fact that SD cards, hard drives, SSD, etc, aren't bigger than whats advertised...

And I know that hard drive manufacturers use decimal units but windows uses binary units like so.

Base 10 (decimal) - kilobyte, megabyte, gigabyte, terabyte:

* Manufacturer *

1KB = 1,000n (10^3)
1MB = 1,000,000 (1000 x 1000) or (10^6)
1GB = 1,000,000,000 (1000 x 1000 x 1000) or (10^9)
1TB = 1,000,000,000,000 (1000 x 1000 x 1000 x 1000) or (10^12)

* Windows *

Base 2 (binary) - kibibyte, mebibyte, gibibyte, tebibyte:

1KiB = 1, 024 (2^10) and so on up!
1MiB = 1,048,576 (1024 x 1024) or (2^20)
1GiB = 1,073,741,824 (1024 x 1024 x 1024) or (2^30)
1TiB = 1,099,511,627,776 (1024 x 1024 x 1024 x 1024) or (2^40)

I get that! Here is where I'm getting really confused. So when a manufacturer states a drive is 1TB, isn't that able to store exactly 1,000,000,000,000 bytes? And since a real TB in binary is 1,099,511,627,776 then why does it show less when it comes to a decimal 1,000,000,000,000 TB? If you ask me:

The TiB (binary) is bigger than the TB (decimal).

1,099,511,627,776 - 1,000,000,000,000 = 99,511,627,776

So, if a binary terabyte has 99,511,627,776 gigabytes more than a decimal terabyte, then why does is become less than the actual 1,000,000,000,000 decimal terabyte???

1,000,000,000,000 / (1024 * 1024 * 1024) = 931 gigabytes.

This is what my capacity shows on my 1TB hard drive in Windows. Again, I understand that powers of 2 go:

1 2 4 8 16 32 64 128 256 512 1024

and binary 10010000b to decimal is 9.

This is what gets me below:

1024 bytes - 1000 bytes = 24 bytes.

Does that mean their saying 1000 - 24 = 976 bytes true form total?

As if the manufacturer cheated out the extra 24 bytes per kilobyte, so the operating system takes it out of the 1000 by making it 976 bytes? By making it less? To me it would seem that if the manufacture says a 1000 bytes is a 1000 and windows says its 1024, shouldn't I have 24 extra bytes above what the manufacturer says (1024) instead of under (976)?


So why would that be less? Since 1024 > 1000?

Take the default cluster size on hard disk of the NTFS file system for example, it's 4096. A power of 2 (binary). Kinda of like saying 4096 - 96 = 4000. And then 4000 - 96 = 3904.

Why does the space go down? I don't get it.

Can you shed some light on the matter?

Thank you for your help!
 
Solution
I'm going to change your metaphor into bundles of sheets of paper stored in a box. First we have the original maker of boxes telling us that the box will hold 1,000 "bundles". When we ask what a "bundle" is, they say, "Oh, a standard bundle is 1,000 sheets". So their box can hold 1,000,000 sheets of paper in 1,000 standard bundles.

Now along comes a different supplier of paper who says they supply paper in standard bundles, too. We ask, what do you mean, "standard" bundle, and they say, "One standard bundle contains 1,024 sheets of paper". We object, and say we already know that the box-maker told us "standard" bundles have only 1,000 sheets, and the second supplier says, "Well, we do that differently. Don't worry, you'll get used to...

popatim

Titan
Moderator
HDD manufaturers measure in bits- 1Tb (b as in bits) so 1024 is one KiloByte (big B)
1,000,000,000,000 /1024 to convert to kilo bytes 976,462.500KB Divided by 1024 to get MB = 953,674.3MB divided by 1024 to get GB = 931.3

They are all the same number just measured differently just like water freezes at 32f or 0c or 273.15k ...
 

Paperdoc

Polypheme
Ambassador
Think of it this way. The HDD maker uses decimal and says 1 TB, so it really has 1,000,000,000,000 bytes. Then along comes Microsoft and lots of others who prefer to work in digital terms and they use a "ruler" that they call 1 TiB and is 1,099,511,627,776 bytes long. That's a bit longer than the ruler used by the HDD maker. The scale etched along the ruler goes from 0 to 1,024 GiB. So on this new digital "ruler" the drive does not quite reach the end. It only comes to 931 GiB. That is why the number appears slightly smaller, because the "ruler" is a little "too big".
 

SecretSociety

Commendable
May 6, 2016
4
0
1,510
Hi popatim and Paperdoc!

Thanks for the replies!

I cant see the big picture still. =(

I can see stuffing 1000 bytes at a time until the 1TB is full -> 1000x1000x1000x1000 = 1TB

But why not stuff 1024 bytes at a time until the 1TB is full -> 1024x1024x1024x1024 = 1TB minus the extra 24 bytes per KiB byte -> 99,511,627,776 gigabytes.

If the hard drive can only handle 1TB, then why does it lose an extra 69 or 70 gigabytes?

In my mind, I'm seeing it like this. Lets say someone has a box that can hold a total of 10 books (reading books). But another guy has 12 books total. Wouldn't he fill the box with 10 books and leave out the other 2 books out of the 12 books? But because he only likes to go buy the 12 book standard
and not the 10 book standard he can only put 8 books in the box? See what I mean? Shouldn't there be room for 2 more instead of just 8 books?

I don't know, maybe I need to learn more about hard disk geometry and cluster sizes to fully understand what's going on. I understand the math, but the logic of why it goes down like in my book example is confusing me... =(
 

Paperdoc

Polypheme
Ambassador
I'm going to change your metaphor into bundles of sheets of paper stored in a box. First we have the original maker of boxes telling us that the box will hold 1,000 "bundles". When we ask what a "bundle" is, they say, "Oh, a standard bundle is 1,000 sheets". So their box can hold 1,000,000 sheets of paper in 1,000 standard bundles.

Now along comes a different supplier of paper who says they supply paper in standard bundles, too. We ask, what do you mean, "standard" bundle, and they say, "One standard bundle contains 1,024 sheets of paper". We object, and say we already know that the box-maker told us "standard" bundles have only 1,000 sheets, and the second supplier says, "Well, we do that differently. Don't worry, you'll get used to it".

So we ask the second supplier, "How much paper can we store in the box we bought?" They reply, "Well, the calculation really depends on how thick the bundles of paper are, and our bundles are 1,024 Bytes thick. Given the internal dimensions of the box you now own, we calculate that you can put 976.56 bundles in that box".

"But Wait!", you cry. "I was told it would hold 1,000 bundles! I just lost storage space." The second supplier says, "That's just the way the numbers go. You can't argue with the math."

When you seek help, people at Tom's tell you the problem is, the two suppliers both claim to be using "standard bundles", but in fact their bundle sizes are different. Do the math this way. The second supplier says the box will hold 976.56 of their bundles, and their bundles each contain 1,024 sheets of paper. So the full box will contain 1,000,000 sheets of paper, EXACTLY what the original box maker told you! The confusion is entirely because the two suppliers used the same term to mean different things. The second supplier says the box's capacity is FEWER "Bundles", but does not immediately point out that their bundle is BIGGER than the box maker uses. Fewer of something that is bigger comes out to the same thing.

If we take this process two more steps up using the effect of replacing 1,000 with 1,024, we will get to that familiar number of 931.3 GiB on a 1TB hard drive. The 1 TB drive from the "box" maker really does hold 1,000,000,000,000 bytes of data. The trouble is, the 1GiB unit is NOT 1,000,000,000 bytes. It is BIGGER, and contains 1,073,741,824 bytes, so it takes FEWER than 1,000 of them to fill up that 1 TB space.
 
Solution

SecretSociety

Commendable
May 6, 2016
4
0
1,510


Ah, yes! I can see now. If a drive has a 1000 bytes capacity, then a KiB unit of 1024 couldn't even fit. Unless it was a 2 kilobyte drive (2000) wasting 2000 minus 1024 = 976 bytes... And so on... So I guess if you really want a TB of storage to go with something bigger than 1TB to fit a TiB. =)

Right on, I wont lose any more sleep over this, lol...

Thanks Paperdoc!
 

Paperdoc

Polypheme
Ambassador
You're almost there. The Windows system will tell you you have less than 1Tib of space - about 931 GiB really, but it does not include the "i" in the middle to let you know. HOWEVER, at the same time it uses this same measurement units to tell you the size of the FILES you store there, so the FILE SIZE is displayed in MiB and GiB, but missing the "i" again. Thus the files sizes Windows tells you look slightly smaller than the real number of bytes in the DECIMAL counting system, and they all fit into that "1 TB" drive you bought from the HDD maker. The truth is, nobody NEEDS exactly 1,000,000,000,000 bytes of storage space, nor do you NEED 1,099,511,627,776 bytes (that's 1 TiB) of storage. Buy what you need (approximately) and can afford, and then don't worry. You will get to use all the space you bought.
 

SecretSociety

Commendable
May 6, 2016
4
0
1,510
Ah, I see the light!

Windows displays binary units but says it in base 10 without the i. Same with the individual files and their sizes. Well, I'm going to defragment my 931 GiB, err, I mean 1TB drive. Lol...

Cool! Again, thanks for helping me understand the logic behind this...