Where is your disk space?

All of you at least once have bought the computer. While purchasing it most of you were checking its parameters. I do not know how many of you have wondered why there is information that e.g. you have 250GB drive and coming home and checking it was only 232GB.

Have you ever wondered where are remaining 18GB?

 

Let’s start from the beginning.

Probably most of you know that there are bits and bytes. You faced this when checking your internet bandwidth and verifying why it is not as fast as promised. You signed for 40Mb and actually file transfer reaches roughly 5MB. Why it is so?

Clearly this are different units and sometimes it could be overlooked where is lower- and where uppercase letter b.

To get it straight:

b – stands from bits – the smallest unit

B – stands from byte – bigger unit. Byte is 8xbit.

It is a clear pattern: 1 bit is 2 (can store only two signs ‚0’ or ‚1’). Following that pattern 2 bits are equal 4, 3 bits 8 etc. The rule is 2 to the power of amount of bits.

8 bits are equal 256 ( 2^8) and this is equal to one byte.

By knowing this calculations it would be easier for you to calculate your efficient home transfer, by simply dividing it by 8.

The size of the files on your PC (for readability purposes) is shown in most cases in bytes. On Linux OS you can try to list it in bits, but then you obtain great number.

When this point is clear we can get straight to the first question.

 

Where are 18GB hidden?

There is straight answer – nowhere. The storage vendors are not lying by stating that there are 250GB. Also your OS is not taking this storage space and not showing the part. This are just differences in units notation. People use decimal notation, which is much simpler to be calculated. Especially when it is power of 10. Computers are calculating everything in binary which is power of 2. For people it is much harder to divide something by 1024 than by 1000. I am not saying impossible, but harder.

Just assume calculating something from bytes into gigabytes. In decimal notation it is dividing amount of bytes by 10^9. Why?

e.g. We have 3gigabytes, to calculate this with decimal notation into bytes you have to just multiple the amount of gigabytes by 10^9. Simple? Of course, and you can do it by yourself.

 

Still for making it simpler for people it is nothing wrong, but this is not how machine does calculations. So producers are not deceiving us. They are providing gigabytes of storage. But to be more precise computers operate in gibibytes. So, when you are dividing by 1000 computer is dividing by 1024.

250 GB (gigabytes) recalculated to bytes is in decimal notation 250 * 10^9 = 2E11

In computer (binary) notation it is 250000000000 divided by 1024^3 = 1073741824. If we divide 250000000000/1073741824 = 232,8306 GiB (gibibytes). There we can find our ‚lost’ 18GB.

 

How the difference look:

decimal units (SI) binary units (IEC60027-2)
Name abbreviation multiplier Name abbreviation multiplier
kilobyte kB 10^3   = 1000^1 kibibyte KiB 2^10 = 1024^1
megabyte MB 10^6   = 1000^2 mebibyte MiB 2^20 = 1024^2
gigabyte GB 10^9   = 1000^3 gibibyte GiB 2^30 = 1024^3
terabyte TB 10^12 = 1000^4 tebibyte TiB 2^40 = 1024^4
petabyte PB 10^15 = 1000^5 pebibyte PiB 2^50 = 1024^5
exabyte EB 10^18 = 1000^6 exbibyte EiB 2^60 = 1024^6
zettabyte ZB 10^21 = 1000^7 zebibyte ZiB 2^70 = 1024^7
yottabyte YB 10^24 = 1000^8 yobibyte YiB 2^80 = 1024^8

 

How bit is yottabyte – http://geekologie.com/2010/06/how-big-is-a-yottabyte-spoiler.php

The International System of Units (SI) http://physics.nist.gov/Pubs/SP330/sp330.pdf

 

Therefore there is a difference in decimal and binary calculation, which can cause misunderstandings.