byte

    [ e]
Quantities of bytes
SI prefixes Historical use Binary prefixes
Symbol
(name)
Value  Symbol  Value Symbol
(name)
Value
kB (kilobyte)10001 = 103KB10241 = 210KiB (kibibyte)210
MB (megabyte)10002 = 106MB10242 = 220MiB (mebibyte)220
GB (gigabyte)10003 = 109GB10243 = 230GiB (gibibyte)230
TB (terabyte)10004 = 1012TB10244 = 240TiB (tebibyte)240
PB (petabyte)10005 = 1015PB10245 = 250PiB (pebibyte)250
EB (exabyte)10006 = 1018EB10246 = 260EiB (exbibyte)260
ZB (zettabyte)10007 = 1021ZB10247 = 270ZiB (zebibyte)270
YB (yottabyte)10008 = 1024YB10248 = 280YiB (yobibyte)280
Legacy Units
Unit Value
KB210 Bytes = 1024 Bytes
MB220 Bytes = 1024 KB
GB230 Bytes = 1024 MB
TB240 Bytes = 1024 GB


In computer science a byte (pronounced /baɪt/) is a unit of measurement of information storage, most often consisting of eight bits. In many computer architectures it is a unit of memory addressing.

Originally, a byte was a small group of bits of a size convenient for data such as a single character from a Western character set. Its size was generally determined by the number of possible characters in the supported character set and was chosen to be a submultiple of the computer's word size; historically, bytes have ranged from five to twelve bits. The popularity of IBM's System/360 architecture starting in the 1960s and the explosion of microcomputers based on 8-bit microprocessors in the 1980s has made eight bits by far the most common size for a byte. The term octet is widely used as a more precise synonym where ambiguity is undesirable (for example, in protocol definitions).

There has been considerable confusion about the meanings of SI prefixes used with the word "byte", such as kilo- (k or K) and mega- (M), as shown in the chart Quantities of bytes. Since computer memory comes in multiples of 2 rather than 10, the industry used binary estimates of the SI-prefixed quantities. Because of the confusion, a contract specifying a quantity of bytes must define what the prefixes mean in terms of the contract (i.e., the alternate binary equivalents or the actual decimal values, or a binary estimate based on the actual values).

A byte is one of the basic integral data types in some programming languages, especially system programming languages.

Meanings

The word "byte" has numerous closely related meanings:
  1. A contiguous sequence of a fixed number of bits (binary digits). The use of a byte to mean 8 bits has become nearly ubiquitous.
  2. A contiguous sequence of bits within a binary computer that comprises the smallest addressable sub-field of the computer's natural word-size. That is, the smallest unit of binary data on which meaningful computation, or natural data boundaries, could be applied. For example, the CDC 6000 series scientific mainframes divided their 60-bit floating-point words into 10 six-bit bytes. These bytes conveniently held Hollerith data from punched cards, typically the upper-case alphabet and decimal digits. CDC also often referred to 12-bit quantities as bytes, each holding two 6-bit display code characters, due to the 12-bit I/O architecture of the machine. The PDP-10 used assembly instructions LDB and DPB to extract bytes — these operations survive today in Common Lisp. Bytes of six, seven, or nine bits were used on some computers, for example within the 36-bit word of the PDP-10. The UNIVAC 1100/2200 series computers (now Unisys) addressed in both 6-bit (Fieldata) and 9-bit (ASCII) modes within its 36-bit word.

History

The term byte was coined by Dr. Werner Buchholz in July 1956, during the early design phase for the IBM Stretch computer.[1][2][3] Originally it was defined in instructions by a 4-bit byte-size field, allowing from one to sixteen bits (the production design reduced this to a 3-bit byte-size field, allowing from one to eight bits in a byte); typical I/O equipment of the period used six-bit units. A fixed eight-bit byte size was later adopted and promulgated as a standard by the System/360. The term "byte" comes from "bite," as in the smallest amount of data a computer could "bite" at once. The spelling change not only reduced the chance of a "bite" being mistaken for a "bit," but also was consistent with the penchant of early computer scientists to make up words and change spellings. However, back in the 1960s, the luminaries at IBM Education Department in the UK were teaching that a bit was a Binary digIT and a byte was a BinarY TuplE (from n-tuple, i.e. [quin]tuple, [sex]tuple, [sep]tuple, [oc]tuple ...), turning "byte" into a backronym. A byte was also often referred to as "an 8-bit byte", reinforcing the notion that it was a tuple of n bits, and that other sizes were possible.
  1. A contiguous sequence of binary bits in a serial data stream, such as in modem or satellite communications, or from a disk-drive head, which is the smallest meaningful unit of data. These bytes might include start bits, stop bits, or parity bits, and thus could vary from 7 to 12 bits to contain a single 7-bit ASCII code.
  2. A datatype or synonym for a datatype in certain programming languages. C, for example, defines byte as "addressable unit of data storage large enough to hold any member of the basic character set of the execution environment" (clause 3.6 of the C standard). Since the C char integral data type must contain at least 8 bits (clause 5.2.4.2.1), a byte in C is at least capable of holding 256 different values (signed or unsigned char doesn't matter). Java's primitive byte data type is always defined as consisting of 8 bits and being a signed data type, holding values from -128 to 127.


Early microprocessors, such as Intel 8008 (the direct predecessor of the 8080, and then 8086) could perform a small number of operations on four bits, such as the DAA (decimal adjust) instruction, and the "half carry" flag, that were used to implement decimal arithmetic routines. These four-bit quantities were called "nybbles," in homage to the then-common 8-bit "bytes."

Alternate words

Following "bit," "byte," and "nybble," there have been some analogical attempts to construct unambiguous terms for bit blocks of other sizes.[4] All of these are strictly jargon, not techspeak, and not very common.
  • 2 bits: crumb, quad, quarter, tayste, tydbit
  • 4 bits: nibble, nybble
  • 5 bits: nickle
  • 10 bits: deckle
  • 16 bits: playte, chawmp (on a 32-bit machine)
  • 18 bits: chawmp (on a 36-bit machine)
  • 32 bits: dynner, gawble (on a 32-bit machine)
  • 48 bits: gawble (under circumstances that remain obscure)

Abbreviation/Symbol

IEEE 1541 and Metric-Interchange-Format specify "B" as the symbol for byte (e.g. MB means megabyte), whilst IEC 60027 seems silent on the subject. Furthermore, B means bel (see decibel), another (logarithmic) unit used in the same field. The use of B to stand for bel is consistent with the metric system convention that capitalized symbols are for units named after a person (in this case Alexander Graham Bell); usage of a capital B to stand for byte is not consistent with this convention. The unit symbol "kb" with a lowercase "b" is also commonly understood to stand for "kilobyte."

IEEE 1541 specifies "b" as the symbol for bit; however the IEC 60027 and Metric-Interchange-Format specify "bit" (e.g. Mbit for megabit) for the symbol, achieving maximum disambiguation from byte.

"b" vs. "B" confusion seems to be common enough to have inspired the creation of a dedicated website b is not B.

French-speaking countries sometimes use an uppercase "o" for "octet". This is not allowed in SI because of the risk of confusion with the zero and the convention that capitals are reserved for unit names derived from proper names, e.g., A=ampere, J=joule; s=second, m=metre.

Lowercase "o" for "octet" is a commonly used symbol in several non-English-speaking countries, and is also used with metric prefixes (for example, "ko" and "Mo").

Names for different units

The prefixes used for byte measurements are usually the same as the SI prefixes used for other measurements, but have slightly different values. The former are based on powers of 1,024 (210), a convenient binary number, while the SI prefixes are based on powers of 1,000 (103), a convenient decimal number. The table below illustrates these differences. See binary prefix for further discussion.

Prefix Name SI Meaning Binary meaning Size difference
K or kkilo103   = 10001210 = 102412.40%
Mmega106   = 10002220 = 102424.86%
Ggiga109   = 10003230 = 102437.37%
Ttera1012 = 10004240 = 102449.95%
Ppeta1015 = 10005250 = 1024512.59%
Eexa1018 = 10006260 = 1024615.29%


Note that since 1998, the IEC, then the IEEE has normalized a new model describing binary prefixes avoiding consumer confusion between bytes & bits:
Prefix Name
Kibibinary kilo1 kibibyte (KiB)210 bytes1024 bytes
Mebibinary mega1 Mebibyte (MiB)220 bytes1024 KiB
Gibibinary giga1 Gibibyte (GiB)230 bytes1024 MiB
Tebibinary tera1 Tebibyte (TiB)240 bytes1024 GiB
Pebibinary peta1 Pebibyte (PiB)250 bytes1024 TiB
Exbibinary exa1 Exbibyte (EiB)260 bytes1024 PiB


Fractional information is usually measured in bits, nibbles, nats, or bans, where the later two are used especially in the context of information theory and not generally with computing in general.

See also

Notes

1. ^ Origins of the Term "BYTE" Bob Bemer, accessed 2007-08-12
2. ^ TIMELINE OF THE IBM STRETCH/HARVEST ERA (1956-1961) computerhistory.org, '1956 July ... Werner Buchholz ... Werner's term "Byte" first popularized'
3. ^ byte catb.org, 'coined by Werner Buchholz in 1956'
4. ^ nybble reference.com sourced from Jargon File 4.2.0, accessed 2007-08-12
An SI prefix (also known as a metric prefix) is a name or associated symbol that precedes a unit of measure (or its symbol) to form a decimal multiple or submultiple.
..... Click the link for more information.
In computing, binary prefixes can be used to quantify large numbers where powers of two are more useful than powers of ten (such as computer memory sizes). Each successive prefix is multiplied by 1024 (210) rather than the 1000 (103
..... Click the link for more information.
kilobyte (derived from the SI prefix kilo-, meaning 1,000) is a unit of information or computer storage equal to either 1,000 bytes or 1,024 bytes (210), depending on context.
..... Click the link for more information.
kibibyte (a contraction of kilo binary byte) is a unit of information or computer storage, established by the International Electrotechnical Commission in 2000. Its symbol is KiB.
..... Click the link for more information.
megabyte or Mbyte is a unit of information or computer storage equal to either 106 (1,000,000) bytes or 220 (1,048,576) bytes, depending on context. In rare cases, it is used to mean 1000×1024 (1,024,000) bytes.
..... Click the link for more information.
mebibyte (a contraction of mega binary byte) is a unit of information or computer storage, abbreviated MiB.

1 MiB = 220 bytes = 1,048,576 bytes = 1,024 kibibytes
1 MiB = 1024 (= 210

..... Click the link for more information.
gigabyte or Gbyte (derived from the SI prefix giga-) is a unit of information or computer storage meaning either 1000³ bytes or 1024³ bytes (1000³ = one billion). The usage of the word "gigabyte" is ambiguous, depending on the context.
..... Click the link for more information.
gibibyte (a contraction of giga binary byte) is a unit of information or computer storage, abbreviated GiB[1].

1 gibibyte = 230 bytes = 1,073,741,824 bytes = 1,024 mebibytes

..... Click the link for more information.
terabyte (derived from the prefix tera- and commonly abbreviated TB) is a measurement term for data storage capacity. The value of a terabyte is based upon a decimal radix (base 10) and is defined as one trillion (short scale) bytes, or 1000 gigabytes.
..... Click the link for more information.
tebibyte (a contraction of tera binary byte) is a unit of information or computer storage, abbreviated TiB.

1 tebibyte = 240 bytes = 1,099,511,627,776 bytes = 1,024 gibibytes

..... Click the link for more information.
petabyte (derived from the SI prefix peta- ) is a unit of information or computer storage equal to one quadrillion bytes. It is commonly abbreviated PB. When used with byte multiples, the prefix may indicate a power of either 1000 or 1024, so the exact number may be
..... Click the link for more information.
pebibyte (a contraction of peta binary byte) is a unit of information or computer storage, abbreviated PiB.

1 pebibyte = 250 bytes = 1,125,899,906,842,624 bytes = 1,024 tebibytes

..... Click the link for more information.
exabyte (derived from the SI prefix exa-) is a unit of information or computer storage equal to one quintillion bytes. It is commonly abbreviated EB. When used with byte multiples, the SI prefix may indicate a power of either 1000 or 1024, so the exact number may be
..... Click the link for more information.
exbibyte (a contraction of exa binary byte) is a unit of information or computer storage, abbreviated EiB.

1 exbibyte = 260 bytes = 1,152,921,504,606,846,976 bytes = 1,024 pebibytes

..... Click the link for more information.
zettabyte (derived from the SI prefix zetta-) is a unit of information or computer storage equal to one sextillion (one long scale trilliard) bytes. It is commonly abbreviated ZB. As of 2007, no computer has one zettabyte of storage.
..... Click the link for more information.
zebibyte (a contraction of zetta binary byte) is a unit of information or computer storage, commonly abbreviated ZiB.

1 zebibyte = 270 bytes = 1,180,591,620,717,411,303,424 bytes = 1,024 exbibytes
..... Click the link for more information.
yottabyte (derived from the SI prefix yotta-) is a unit of information or computer storage equal to one septillion (one long scale quadrillion or 1024) bytes. It is commonly abbreviated YB. As of 2007, no computer has achieved one yottabyte of storage.
..... Click the link for more information.
yobibyte (a contraction of yotta binary byte) is a unit of information or computer storage, commonly abbreviated YiB.

1 yobibyte = 280 bytes = 1,208,925,819,614,629,174,706,176 bytes = 1,024 zebibytes
..... Click the link for more information.
Computer science, or computing science, is the study of the theoretical foundations of information and computation and their implementation and application in computer systems.
..... Click the link for more information.
Computer data storage, computer memory, and often casually storage or memory refer to computer components, devices and recording media that retain digital data used for computing for some interval of time.
..... Click the link for more information.
BIT is an acronym for:
  • Bannari amman Institute of Technology
  • Bangalore Institute of Technology
  • Beijing Institute of Technology
  • Benzisothiazolinone
  • Bilateral Investment Treaty
  • Bhilai Institute of Technology - Durg

..... Click the link for more information.
computer architecture is the conceptual design and fundamental operational structure of a computer system. It is a blueprint and functional description of requirements (especially speeds and interconnections) and design implementations for the various parts of a computer —
..... Click the link for more information.
Byte addressing refers to hardware architectures which support accessing individual bytes of data rather than only larger units called words.

The basic unit of digital storage is called a bit. In most common computer architectures, 8 bits are grouped together to form a byte.
..... Click the link for more information.
In computing, an address space defines a range of discrete addresses, each of which may correspond to a physical or virtual memory register, a network host, peripheral device, disk sector or other logical or physical entity.
..... Click the link for more information.
A character encoding consists of a code that pairs a sequence of characters from a given character set (sometimes referred to as code page) with something else, such as a sequence of natural numbers, octets or electrical pulses, in order to facilitate the storage of text in
..... Click the link for more information.
word" is a term for the natural unit of data used by a particular computer design. A word is simply a fixed-sized group of bits that are handled together by the machine. The number of bits in a word (the word size or word length
..... Click the link for more information.
System/360 Model 65 operator's console, with register value lamps and toggle switches (middle of picture) and "emergency pull" switch (upper right).]] The IBM System/360 (S/360) is a mainframe computer system family announced by IBM on April 7, 1964.
..... Click the link for more information.
computer architecture is the conceptual design and fundamental operational structure of a computer system. It is a blueprint and functional description of requirements (especially speeds and interconnections) and design implementations for the various parts of a computer —
..... Click the link for more information.
Centuries: 19th century - 20th century - 21st century

1930s 1940s 1950s - 1960s - 1970s 1980s 1990s
1960 1961 1962 1963 1964
1965 1966 1967 1968 1969

- -
-

Their 1960s decade refers to the years from 1960 to 1969, inclusive.
..... Click the link for more information.
microcomputer (in the 1970s and 80s sometimes shortened to micro[2]) is most often taken to mean a computer with a microprocessor as its CPU. Another general characteristic of these computers is that they occupy physically small amounts of space.
..... Click the link for more information.


This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.