| |
[ tech/computing ]
K = 1,024
k= 1,000
B = Bytes
b= bits
Filesize (how big a file is on your computer)
is normally 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.
The other abbreviations use this same base of 1,024:
- 1 KB (one KiloByte) = 1,024 Bytes
- 1 MB (one MegaByte) = 1,024 KB
- 1 GB (one GigaByte) = 1,024 MB
But 'k' (lowercase), on the other hand, represents
a multiplier of 1,000 in computing. Data
transfer speed is sometimes discussed using Bytes,
but this usage is ambiguous and discouraged, as data transfer speeds are measured using
"bit-rate" (bits per second).
You should therefore follow the convention of using BITS (not BYTES)
for data transfer rates (for example, how fast data travels over a
network, or how fast data travels from one hard drive to another hard
drive).
A Proposal
To clarify the difference between bits and Bytes in transfer abbreviations, just use lower case for bit-rates:
- 1 kbps (one kilobit per second) = 1,000 bits per
second
- 1 mbps (one megabit per second) = 1,000 kbps (i.e. one million bits per second)
- 1 gbps (one gigabit per second) = 1,000 mbps (i.e. one billion bits per second)
This is a clear and easy to remember way to distinguish between KiloBytes
and kilobits.
Note also that it's helpful to reserve the use of the captial
letters for Byte-based abbreviations (i.e. "kbps", not "Kbps"), as this use of the lower case m and g can help to visually differentiate. In most references to bit-rate, the captial M and G are more common (e.g. "3 Gb/s"; "54 Mbps"), but the lower case "b" to represent "bits" is required and standardized.
Options for notation
Ambiguity in refering to kB, kb, MB, GB, etc. can be easily resolved, first and foremost, by just saying what you mean. This is easily done by indicating in your document what notation you are using; for example, as a footnote: "* In this document 1 MB = 1,024 KiloBytes and 1 KB/s = 1024 Bytes per second". But an even better solution is to avoid abbreviations unless they are absolutely necessary. It does not really take that much more space to write "24 megabits/s" than "24 Mbps", or "24,000 bytes/s" instead of "24 KB/s". . .
The "Kibi" -- SI Notation and Computing
[adapted from the NIST
Reference ]
The "International Standard of Units" (SI) defines the prefix
"K", for "kilo" (thousand), "M" for "mega",
and so on. These prefixes are also found in computing, where they are
applied to information and storage units like the bit and the byte. But
since computing is a binary system (the base unit is "2", and
powers of two) the prefixes' meanings change from their common "base-10"
meanings:
K = 2^10 = 1,024
M = 2^20 = 1,048,576
G = 2^30 = 1,073,741,824
T = 2^40 = 1,099,511,627,776
P = 2^50 = 1,125,899,906,842,624.
However, these prefixes usually retain their powers-of-1000 (10^x)
meanings when used to describe rates of data communication (bit-rates):
e.g. "10 Mbps Ethernet" runs at 10,000,000 (10 million) bits
per second, not 10,485,760 bits per second.
This inconsistency did not seem important when computers had little storage
and communication links were relatively slow -- the difference between
1,000 and 1,024 seemed, at the time, to be such a small difference that
it didn't matter. But the increasing capacity of computing systems and
speed of network links began making this inconsistency a more serious
problem -- the difference between 400 "GB" and 400 "giga-"
Bytes is a whopping 73,741,824 Bytes [*1]
The International Electrotechnical Commission
(IEC) attempted to deal with the confusion in 1998/1999 by recommending
a new set of "binary prefixes". They sought to distinguish between
the standard SI prefixes (base 10) and computing
prefixes (base 2) by assigning "KiB",
"MiB" (kibibyte, mibibyte), on so
on to computing prefixes (for example, "one kibibyte
(1 KiB) equals 1024 Bytes").... But 6 years later, these terms have had very limited adoption. It appears they have so far lost their
battle to retain the original meaning of K /M /G...
1 MegaByte =1 024
KiloBytes, 1 KiloByte =1 024 Bytes
The main problem with the "Kibi-"/"Mebi-" approach
recommended by the IEC is the widespread use of computer operating systems
(especially Microsoft Windows) that have effectively standardized "KB"
(KiloByte) as 1,024 Bytes, "MB" (MegaByte)
as 1,024 KB ( 1,048,576 Bytes), and "GB"
(GigaByte) as 1,024 MB.
Millions of people use these abbreviations in their
daily use of computers; many more than the number of people who use the
"proper SI meanings" -- and even people who refer to things like
"kilometers" or "kilograms" know perfectly well that
a "Kilobyte" is 1,024 Bytes, not 1,000 Bytes.
The practical upshot of this is that, unless you can get Microsoft to
start using the "KiB" abbreviation throughout their interfaces
and documentation, then get millions of programmers to follow suit, we
have to accept that "KB", "MB", et cetera, is taken,
and work from there. (Face it: Microsoft trumps the IEC. I know these statements annoy Linux users, but Linux has also traditionally used the same definitions.)
Furthermore, another large problem with their approach was to introduce ambiguity by attempting to redefine established abbreviations, and introduce new abbreviations for established refences, instead of introducing new abbreviations for the less frequently used definitions. This means that anyone reading historical documentation or using any program now has to wonder "does this use of MB indicate the older use of MB (1,024 KB), or does it mean the IEC definition of MB (1,000 KB)??"
Arguably, an alternate approach would make more sense: let KB, MB,
and GB remain as multiples of 1,024, but refer to DATA TRANSFER always
in terms of bits; kbps, mbps, gbps, tbps, and so on:
kbps (kilobits/sec) means thousands
of bits per second
mbps (megabits/sec) means millions
of bits per second
gbps (gigabits/sec)means billions
of bits per second
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)
and
- tbps = trillion bits per second (where t = 1 000 000 000 000) [theoretical]
bits and Bytes: 1 Byte = 8 bits; kbps* 0.1220703125 = KB/s
|
Internet Speed
|
File Download Speed
|
|
256 kbps
|
~31.3 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.
|
To get bit rate (speed) from values given in Bytes, you must multiply the total number of Bytes by
8. 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), therefore, 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
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) .
So a 512\128 internet connection would give you about 62.5 KB/s maximum download, and about 15.6 KB/s upload (max).
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]
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." or "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 (/1,024),
e.g. 1.5 Gbps = 187500000 Bytes per second = 178.813934326171875 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.)
|
See also:
• how fast is USB 2.0 vs Firewire or 100/Base-T Ethernet?
Sample usage.
From: "Verizon Reduces Prices for Phone Service"
Author: Associated Press (AP) Online
Date: 2005, November 8th
"Cablevision, which competes with Verizon in New York City and its suburbs, on Monday announced it was increasing the maximum download speed of its lowest-price broadband service to 15 megabits per second (mbps), up from a maximum of 10 - which was already several times faster than most consumer DSL services. The company also introduced new 30 and 50 mbps options to compete with Verizon's new FiOS fiber optic offerings."
From: http://compnetworking.about.com/cs/wireless/f/wirelessspeed.htm
Author: Bradley Mitchell
Date: unknown
-- start quote --
The speed of a wireless network depends
on several factors.
First, wireless local area networks (WLANs [or "Wi-Lans"]) feature differing levels
of performance depending on which Wi-Fi standard they support.
802.11b Wi-LANs offer maximum theoretical
bandwidth of 11 [mbps].
802.11a and 802.11g
Wi-LANs offer theoretical bandwidth up to 54 [mbps]. (In contrast,
typical wired Ethernets run at 100 [mbps].)
The performance of Wi-Fi networks in practice never approaches the
theoretical maximum.
802.11b networks, for example, generally operate no faster than about
50% of theoretical peak, or 5.5 [mbps].
Likewise, 802.11a and 802.11g networks generally run no faster than
20 [mbps]. The disparity between theoretical and practical performance
comes from protocol overhead, signal interference, and decreasing signal
distance with distance. In addition, the more devices communicating
on a WLAN simultaneously, the slower the network will appear.
On home networks, keep in mind that the performance of an Internet
connection is often the limiting factor in network speed. Even though
files can be shared on a wireless LAN at speeds of 5 or 20 mbps, wireless
clients will still connect to the Internet at the speed typically offered
by Internet Service Providers, usually less than 1 [mbps] (1000
kbps). [*2]
Finally, wireless network technology is capable of more speed than
what Wi-Fi supports today. Industry vendors continue to develop improved
technologies like 802.16 WiMAX that offer wireless communications with
faster speeds and longer range.
-- end quote --
[*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 the 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 4,482 MB safely on a DVD+R, and 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 |
| *assuming you aren't trying to overburn disk. Technically speaking, you can 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;
this would typically give you about a 1200 kbps maximum
download speed, and about a 318 kbps maximum upload speed.
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."
See: broadbandreports.com
[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
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.)
*for now, at home, there's hardly any benefits to be gained from SATA II. |
|
|