KiloBytes vs. kilobits vs. Kibibytes (transfer speeds and capacities)

 Meta: Author: Lyberty Article last updated: November 2007

[ tech/computing ]

Introduction - K = 1,024 ; k= 1,000 ; B = Bytes ; b= bits

Filesize (how big a file is on your computer) is usually measured in units of "kilobytes," "megabytes," and "gigabytes."

In this computing (binary, but not data transfer) usage, 'K' (uppercase) represents a multiplier of 1,024.
Other abbreviations use this same base of 1,024:

• 1 KB (one KiloByte) = 1,024 Bytes (approximately 1 thousand Bytes)
• 1 MB (one MegaByte) = 1,024 KB (approximately 1 million Bytes)
• 1 GB (one GigaByte) = 1,024 MB (approximately 1 billion Bytes)

Data transfer speed on the other hand is expressed in bits. In bit rates the abbreviations are as follows:

• 1 kbps = 1,000 bits per second
• 1 Mbps = 1,000,000 bits per second.
• 1 Gbps = 1,000,000,000 bits per second.

kbps (kilobits/sec) means thousands of bits per second
mbps or Mbps (megabits/sec) means millions of bits per second
gbps or Gbps (gigabits/sec) means billions of bits per second (where "billion"= 1,000,000,000.00")
tbps (terabits/sec) means trillions of bits per second (as in "terabit router" or "terabit speeds")
pbps (petabits/sec) means quadrillions of bits per second.

Examples:

• "Gigabit Ethernet [1000Base-T] is capabile of speeds up to 1000 mbps (mega-bits per second), or 1 gbps."
• "10Base-T ethernet operates at 10 mbps and uses baseband transmission methods."
• "SATA II defines the architecture (SATA-300) for Serial ATA communications of up to 3 gbps."

Alternate forms:

• bbps = billion bits per second (where b = 1 000 000 000)
• mbps = million bits per second (where m = 1 000 000)
• kbps = thousand bits per second (where k = 1 000)
• tbps = trillion bits per second (where t = 1 000 000 000 000) [theoretical]

 Internet Speed Data Transfer Speed (Files)* 256 kbps ~31 KB/s 384 kbps ~46.9 KB/s 512 kbps ~62.5 KB/s 768 kbps ~93.8 KB/s 1 mbps ~122.1 KB/s kbps = kilobits per second mbps = megabits per second KB/s = KiloBytes per second To convert from network speed (kilobits per second, kbps) to transfer rates (KiloBytes per second, KB/s), multiply by 0.1220703125. *

bits and Bytes:  1 Byte = 8 bits;   kbps* 0.1220703125 = KB/s

Because there are 8 bits in a Byte, to get a bit-rate (speed) from values given in Bytes,
you must multiply the total number of Bytes by 8.

Conversely, to get KB/s values from bit rates, you must divide the total number of bits by 8, then divide by 1,024.

For converting KB/s to kbps (bit rate from Byte values), the equation is basically as follows:

<K> KiloBytes * 1,024 = <t> total Bytes

<t> total Bytes * 8 = <b> bits

<b> bits / 1,000 = <k> kilobits

For example:

30 KB/s * 1,024 = 30,720 Bytes per second
30,720 Bytes per second * 8 = 245,760 bits per second
245,760 bits per second (bps) / 1,000 = (approximately) 246 kbps (245.8 kb/s)

And for kbps to KB/s (Byte values from bit rates), you switch the equations:
<k> kilobits per second * 1,000= <b> total bits per second; <b> bits / 8 = <t> total Bytes per second; and <t> / 1,024 = <K> KiloBytes per second.
For example: 128 kbps (k) = 128,000 bits per second (k*1000=b) = 16,000 Bytes per second (b/8=t) , or about 15.6 KB/s (t/1,024=K) .

And a 1500\128 service (1.5 mbps download cap) would give you about 183.1 KiloBytes per second, maxium. [5]
[convert 128 kbps to KB/s : ((128*1000)/8)/1024 ; ratio 128x=15.625;    x= 0.1220703125 ]
[convert 256 kbps to KB/s: ((256*1000)/8)/1024= 31.25 ; 256x=31.25;   x= 0.1220703125 ]
[convert 512 kbps to KB/s : ((512*1000)/8)/1024; ratio 512x=62.500;     x= 0.1220703125 ]
[convert 1 mbps to KB/s : ((1000*1000)/8)/1024=122.070312; ratio 1000x=122.0703125; divide by 1000 and x=0.1220703125]

* NOTE: The values and equations given above are theoretical, and are for explaining the basic math of converting bit-rates to the values used for filesystems.
It is important to note that for Ethernet (internet conections, etc.), approx. 10 bits are required to transmit a single Byte of data. This changes the math to 'multiply or divide by 10' instead of eight.
[8]

Summary:

 1 KB 1 KiloByte (1 KB = 1,024 Bytes = 8,192 bits ) [1 Byte = 8 bits. 1,024 Bytes = 1 KiloByte (1 KB); therefore 1 KB is 8,192 bits ( 1*1,024 Bytes*8 = 8,192 ).] 1 kb 1 kilobit (1 kilobit = 1,000 bits) 1 MB 1 MegaByte (filesize) (1 MegaByte = 1,048,576 Bytes = 1,024 KiloBytes) 1 mb 1 megabit (1 megbit = 1,000,000 bits [one million bits] = 1,000 kb) [*4] 1 mbps or 1 Mbps (bitrate) "1 million bits per second", or "1 megabit every second". 1 GB 1 GigaByte (1,073,741,824 Bytes) [*4] (also used: "gig"). 1 BB 1 billion Bytes (1,000,000,000 Bytes) "BB" is an alternative to "GB" for base-10; hard drives and DVDs say "GB" when the values are actually in BB [*1] 1 KB/s "The ratio of one KiloByte to one second." i.e. "One KiloByte per second." 1 kbps "One kilobit per second." Bytes → big "B"; bits → small "b". When talking about storage, think Bytes, not bits. When talking about data transfer, use bits, not Bytes. Discussion of data transfer rates are in bits, even if you are talking about file transfer speeds. If you need to refer to Bytes for some reason, you must switch to base-2 (x/1,024), e.g. 1.5 Gbps = 187,500,000 Bytes per second = ≈ 178.814 MB/s. [7] B/s*8= bps ; but mbps/8 does not equal MB/s! Don't use "GB" to mean BB. If you hear the words "TeraByte" (TB) , "PetaByte" (PB), or "ExaByte" (EB), they're talking about storage, not data transfer. If a program or web browser tells you that data is moving at "x KB/s", it's okay; they really do mean "x KiloBytes per second", so you can do the math confident in the fact that 1 KB = 1024 Bytes. (e.g. to download a 1.2 MB file at 54 KB/s will take you about [1,228.8 KB / 54 ≈ ] 22 seconds.)

•  how fast is USB 2.0 vs Firewire or 100/Base-T Ethernet?

Related Topics:

[1] Actual hard drive sizes - reported vs actual file sizes (Binary vs. Decimal HDD Capacity Measurements)

Note that computer hard drive manufacturers have traditionally taken advantage of ambiguity found in references to "MB"/"GB" to try and make it seem like their hard drives have a larger capacity than they actually have. (Some claim that it's only done because it's logical to think of platters in base-10 capacities, but this argument is spurious...)

For example, if you buy a "200 GB" harddrive, when you get done installing it, you'll find that you actually have less than 185 GB (a difference of about 15 GB). That's because what they actually mean is 200 Billion Bytes (not 200 GB):

200 Billion Bytes (BB) == 200,000,000,000 Bytes

200,000,000,000 Bytes /1,024 = 195,312,500 KB /1,024 = 190,734.8 MB /1,024 = 186.265 GB , or approximately 186 GB.

And as the drives get larger, this discrepancy gets larger too:

What happened to the other 27.5 GB?

A typical "120GB" Hard Drive under Windows XP:

...so a 120BB Hard Drive (HDD) is actually 111.759 GB.

[HINT: Use Start > Run > "diskmgmt.msc" to check your own disk(s).]

(About Extended Industry Standard Architecture (EISA) partion, also known as 'the Utility Partition':
In Disk Management, an OEM partition typically is displayed as an EISA configuration partition.)

 Actual Drive Capacities: Advertised Actual Capacity "400 GB" 372.5 GB (400 BB) "250 GB" 232.8 GB (250 BB) "120 GB" 111.8 GB (120 BB)

Binary vs. Decimal DVD Capacity Measurements

They do the same thing for CD-Recordables, and DVD-Recordables; for example, a "4.7 GB" DVD actually only has room for less than 4.38 GB [about 4,485 MB on a DVD+R] of data.... (4589843.75\4482.26929\4.37721).

From THE DVD FAQ:

"DVD-5 = 4.37 gig (4.70 BB) of data; DVD-9 (12 cm, SS/DL) = 7.95 gig (8.54 BB), or about 4 hours of DVD Standard video + audio."

"The '150 KB/s' 1x data rate commonly listed for CD-ROM drives is meant to indicate 153.6 thousand Bytes per second..."

In my experience, I can get about 4,480 MB safely on a DVD+R, and about 4,488 MB safely on a DVD-R. (Some overburning is possible, but it's not really recommended.)

 Format Can hold (target burn size) no more than...* Size on Label Actual Size DVD-R (DVD-5) 4488 MB "4.7 GB" 4.383 GB DVD+R (DVD-5) 4482 MB "4.7 GB" 4.377 GB *This is in general. Assumes you aren't trying to overburn disk. Different DVD recordable media has varying capacities; you can often get 4489 and 4485 on DVD-R and DVD+R, respectively...

[*2] As an example, a typical "broadband" (aka "HighSpeed") service for asynchronous DSL (as of August 2005) would be "1.5\384", meaning 1.5 mbps upload\384 kbps download;

If you are maxing out at about 30 KB/s (KiloBytes) per second upload, you are uploading data at a rate of around 245 or 246 kbps.
[((246 * 1,000) / 8) / 1,024 = 30.0292969. Also, 30*Y=245.76; Y=8.192]

[3] Common misspellings and other keywords; petrabyte, tetrabyte, petrayte; bianary, ... kilobit transfer speeds, megabit transfer speeds, Calculate bandwidth throughput for any device - convert from Kbps and MB/s to ... 1 Kbps, 1 Mbps, 1 Gbps, 1 Tbps. 512K ADSL modem [Broadband]. 512 Kbps ... bandbreedte, bandbreite, bande passante, bandwidth, binaria, bit, bitrate, compression, convert, daten, Datenbertragung, donnes, equivalent, Geschwindigkeit, kanaalcapaciteit, kompression, limit, overdracht, per second, per seconde, por segundo, pro Sekunde , rate, snelheid, speed, throughput, transfer, transferencia, bertragungsrate, velocidad, vitesse

[4] From "whatis.techtarget.com":

megabit
- In data communications, a megabit is a million binary pulses, or 1,000,000 (that is, 10^6) pulses (or "bits").
It's commonly used for measuring the amount of data that is transferred in a second between two telecommunication points. For example, a U.S. phone company T-carrier system line is said to "sustain a data rate of 1.544 megabits per second." Megabits per second is usually shortened to mbps.

Some sources define a megabit to mean 1,048,576 (that is, 2^20) bits. Although the bit is a unit of the binary number system, bits in data communications are discrete signal pulses and have historically been counted using the decimal number system. For example, 28.8 kilobits per second (Kbps) is 28,800 bits per second. Because of computer architecture and memory address boundaries, Bytes are always some multiple or exponent of two. See kilobyte, etc.

GigaByte - A gigabyte (pronounced GIG-ah-bite with hard G's) is a measure of computer data storage capacity, equal to approximately a billion Bytes. Specifically, a gigabyte is two to the 30th power [2^30] Bytes, or 1,073,741,824 (one billion, seventy three million, seven hundred fourty one thousand, eight hundred twenty four) Bytes in decimal notation.

[5] "These are optimum bandwidths. Actual bandwidth may vary due to network traffic and and are not guaranteed. The difference between maximum speed and average speed can be especially large in wireless technology, or cable internet. The varying amount of data traffic on the Internet (and your own LAN, if applicable) and the condition of your computer equipment affect the speed of any connection at any given time." ; "Keep in mind that [even with a 1.5 mbps connection] you will not normally see 1.5 megabits in a speed test ... due to overhead the more commonly seen speed with this type of connection is in the neighborhood of 1200-1250."

[6] Further historical reference for "kibi-" nomenclature:
* NIST "Tech Beat"; "Get Ready for the mebi, gibi and tebi"  (March 1999)
* http://www.worldwidewords.org/turnsofphrase/tp-kib1.htm  (August 1999)

[7] (from Tom's Hardware Community:)

Nearly everyone (including the experts) gets this wrong but the theoretical limit of a PCI bus is 127.2 MB/s, not 133 MB/s .

The bus is 32 bits wide and clocked at 33.3 Mhz. So many people assume its 32/8*33.3. But this ignores the fact that the "M" in Mhz = 1,000,000, while the "M" in MB = 1,048,576.

(Bytes)*(MEGAHertz) = total throughput, in Bytes, per second <T>
<T> / 1,024 = total throughput, in KiloBytes, per second.
<T> / 1,048,576 = total throughput, in MegaBytes, per second.

( (32/8)*(33.3*1,000,000) )/1,048,576= 127.2 MB/s

1 /1,024 /1,024 = 0.00000095367431640625
1 /1,048,576 = 0.00000095367431640625

[6] SATA Drive Transfer Speeds, in Bytes (real, as opposed to fuzzy, math):

 SATA "1.5Gb/s" (aka SATA-150 [SATA-143 ?] ) 1,500 MHz embedded clock x 1 bit per clock x 80% for 8b10b encoding ----------------------------------- = 1200 million bits per second (1200 mbps, or 1.2 gbps) / 8 bits per byte ----------------------------------- = 150 million Bytes per second 150,000,000 Bytes per second / 1,024 ---------------------------------- = 146,484.375 KiloBytes per second (146,484 KB/s) 146,484.375 KiloBytes per second / 1,024 ---------------------------------- = 143.0511474609375 MegaBytes per second = 143 MB/s Actual: 40 to 91 MB/s* SATA "3.0Gb/s" (aka SATA-300 aka SATA-286 aka SATAII) 3,000 MHz embedded clock x 1 bit per clock x 80% for 8b10b encoding ----------------------------------- = 2400 million bits per second (2400 mbps, or 2.4 gbps) / 8 bits per byte ----------------------------------- = 300 million Bytes per second 300,000,000 Bytes per second / 1,024 ---------------------------------- = 292,968.75 KiloBytes per second (292,969 KB/s) 292,968.75 KiloBytes per second / 1,024 ---------------------------------- = 286.102294921875 MegaBytes per second = 286 MB/s Note that these speeds are for the interface (parallel interface), and is limited by (among other things) the physical (hardware) speed of the disk drive. As an example, Western Digital's fastest SATA drive (2005) has about a 68 MB/s Buffer to Disk sustained (write) speed... *ACTUAL speeds for a single SATA-drive, in personal read & write tests, range from around 41 MBytes/s to 91 MB/s (peak). (Note the buffer-to-disk-limitation.)

[8] "Transmission speed is measured in bits per second. Eight bits equal one byte. But to transfer one byte, approx. 10 bits are required since approx. two extra bits will be used for control.)" - Digital transmission & system configurations , Axis Communications

`  `

 Refernces/Additional Reading: USB speeds vs. Firewire vs. Ethernet (file transfer speeds) Real World Speed Tests: SATA to U-ATA "Binary vs. Decimal Measurements" {pcguide.com} whatis.com -- Table of Physical Units {whatis.techtarget.com} Capacities of DVD (the DVD faq) {dvddemystified.com/dvdfaq}   ("[7.2] Notation and units") The National Institute of Standards and Technology - "SI Prefixes for binary multiples" How Many Bytes for Anything (How many Bytes for...) {techtarget.com} [e.g. "10 terabytes for the print collections of the U.S. Library of Congress"] SATA/300 or SATA-II archived (last updated 2005) version of this article
( ≈ &2248; ≈)