Bits and Bytes Explained

toggle-button

Introduction

This page is to help clear up some confusion that I often see at forums and other sites on the web regarding internet speeds and download speeds and storage sizes.

I often see the questions like "I have a 1mb internet connection, why am I only getting 120kb speeds in my bittorrent client" or "I have a 8mb connection why am I only getting 1mb download speed"

There are also questions regarding external storage drives such as "I have a 2TB external hard drive, but it only shows 1.8TB when connected to the computer".

Hopefully this page will answer those questions on speed and storage.

Bits (b) and Bytes (B)

The questions on speed can mostly be answered with an explanation of bits (b) and bytes (B).

There are 8 bits in every byte.  8b = 1B

All Internet Service Providers (ISPs) advertise their speeds in bits. (b)
All browsers and bittorrent clients show speeds in bytes. (B)
All speed tests, at default, show speeds in bits.  (b)

So an internet connection is advertised as 8 megabits (8Mb/s), as that sounds faster than 1 megabyte.(1MB/s). 
However, the browser, or bittorrent client will show a maximum speed on that connection in bytes or 1MB/s.

Likewise for a 1Mbps advertised speed which will show in the browser/bittorrent client as 1/8th of that or 125kB/s.

Power of 2 vs Power of 10

Further complicating the issue is a discrepancy in the values of terms such as kilobytes, megabytes, gigabytes etc.

The International System of Units (SI) factors those on multiples of 10, so kilo = 1000, mega = 1,000,000 and giga = 1 billion.

For some purposes, like RAM and memory, computers use binary standards (power of 2) so kilo = 1024 or 2 to the 10th power; mega = 1048576 or 2 to the 20th power and giga = 1073741824 or 2 to the 30th power.

The basic differential is the 1024 vs 1000 in kilo.

External hard drives use the SI standard of 1000 and the operating system views the drive using 1024, which explains why the external will show up as a smaller size than advertised when connected to the computer.

ISPs also use the SI standard of 1000, again as this results in a larger advertised number.  Speed tests also use the SI standard.

Quite a few bittorrent clients use the factor of 2 or 1024 per kilo standard, causing a further deviation down from the advertised speed.

Naming Standards

There has been some effort to clarify the distinction between the two standards above.  These have not gained much traction, but do make it a bit easier to distinguish.

The SI measurements retain their traditional prefixes of kilo (1000), mega (1 million), giga (1 billion) etc.

The binary prefixes should be kibi (1024) 2^10 , mebi (1048576) 2^20, gibi (1073741824) 2^30 etc and an "i" should be inserted in the abbreviation such as Kib (kibibits), Mib (mebibits), Gib (gibibits) etc.

Special Note On Kilo

There is also some confusion as the the use of a capital "K" and small case "k".

The small case "k" should be used to designate the SI standard (1000).  An exception is when used informally as in "Y2K" and "40K salary".

The capital "K" should be used for the binary, factor of 2 (1024), designation as in kibibits (Kib) and kibibytes (KiB).  When using the binary designation, the capital "K" should be used even when the "i" is omitted as int "Kb" (kibibits) and "KB"  (kibibytes).

This discrepancy applies only to "kilo" and not to the other units.

A thanks to brunetu for clearing this one up.

Conclusion

Hopefully this has clarified the speed and storage questions and the differences in data units for you. 

You may want to check these links for some further information

VuzeWiki:  Data Units

Wikipedia:  Binary Prefix

If you have any questions, then you may post here or in our Forums.

Related Links

An excellent series of articles by our editor, Remah

Please rate this article: 

Your rating: None
4.296295
Average: 4.3 (27 votes)
toggle-button

Comments

Yes, the way you put it should leave less room for further confusion... as long as readers remember that, as the article says, while the binary prefixes "should be kibi (KiB), mebi (MiB)", etc. to be more easily differentiated from the decimal counterparts, many - if not most - software developers have not adopted this standard yet (they still use KB/MB/GB etc instead of the new binary prefixes), so KB/MB/GB etc. (and other capitalizations) don't mean the same thing in every context right now - I've even seen a recent file manager (Space Sniffer) displaying kb instead of KiB (which the numbers actually represent)! And an online hardware store (cel.ro) displaying graphics cards' bandwidth as Gb, but the numbers represent GiB... Capitalization wouldn't be as much of an issue if we were talking kilograms (kg). Just wanted to repeat this to make it clearer.

Just as is the case with shoe sizes, in many cases one can't be sure which measurement unit it is until they ask the store for the size in inches / centimeters or, in our case, look for the total number of bits/bytes instead...

The most common discrepancy is probably the one between the advertised capacities for the usual 80-minute CD-R as "700 MB", which is actually 700 MiB (most software leaves out the "i") or approximately 734,000,000 (700x1024x1024) bytes, respectively the DVD as "4.7 GB", which is actually approximately 4,700,000,000 bytes or 4.37 GiB. Of course, these numbers are all rounded for the sake of simplicity. So don't wonder why 700 MiB can fit on a CD, but 4.7 GiB cannot fit on a DVD (it is actually 4.7 billion- or giga- bytes and not the power-of-two equivalent used by most software). CDs and Windows were created before the binary prefix convention.

OK, now I think it couldn't be any clearer than that.