23.11.2012 Views

In computer science a byte (pronounced "bite", IPA: /ba t/) is a unit of ...

In computer science a byte (pronounced "bite", IPA: /ba t/) is a unit of ...

In computer science a byte (pronounced "bite", IPA: /ba t/) is a unit of ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Byte - Wikipedia, the free encyclopedia<br />

Byte<br />

From Wikipedia, the free encyclopedia<br />

<strong>In</strong><br />

<strong>computer</strong><br />

<strong>science</strong> a<br />

<strong>byte</strong><br />

Quantities <strong>of</strong> <strong>byte</strong>s<br />

SI prefixes (decimal) IEC prefixes (binary)<br />

Binary usage (<strong>of</strong>ten with KB for kB)<br />

Value Name Value Name<br />

1000 1 = 10 3 kilo<strong>byte</strong> (kB) 1024 1 = 2 10 = 1.024·10 3 kibi<strong>byte</strong> (KiB)<br />

1000 2 = 10 6 mega<strong>byte</strong> (MB) 1024 2 = 2 20 ≈ 1.049·10 6 mebi<strong>byte</strong> (MiB)<br />

1000 3 = 10 9 giga<strong>byte</strong> (GB) 1024 3 = 2 30 ≈ 1.074·10 9 gibi<strong>byte</strong> (GiB)<br />

1000 4 = 10 12 tera<strong>byte</strong> (TB) 1024 4 = 2 40 ≈ 1.100·10 12 tebi<strong>byte</strong> (TiB)<br />

1000 5 = 10 15 peta<strong>byte</strong> (PB) 1024 5 = 2 50 ≈ 1.126·10 15 pebi<strong>byte</strong> (PiB)<br />

1000 6 = 10 18 exa<strong>byte</strong> (EB) 1024 6 = 2 60 ≈ 1.153·10 18 exbi<strong>byte</strong> (EiB)<br />

1000 7 = 10 21 zetta<strong>byte</strong> (ZB) 1024 7 = 2 70 ≈ 1.181·10 21 zebi<strong>byte</strong> (ZiB)<br />

1000 8 = 10 24 yotta<strong>byte</strong> (YB) 1024 8 = 2 80 ≈ 1.209·10 24 yobi<strong>byte</strong> (YiB)<br />

(<strong>pronounced</strong> "bite", <strong>IPA</strong>: /<strong>ba</strong>ɪt/) <strong>is</strong> a <strong>unit</strong> <strong>of</strong> measurement <strong>of</strong> information storage, most<br />

<strong>of</strong>ten cons<strong>is</strong>ting <strong>of</strong> eight bits. <strong>In</strong> many <strong>computer</strong> architectures it <strong>is</strong> a <strong>unit</strong> <strong>of</strong> memory<br />

addressing.<br />

Originally, a <strong>byte</strong> was a small group <strong>of</strong> bits <strong>of</strong> a size convenient for data such as a<br />

single character from a Western character set. Its size was generally determined by the<br />

number <strong>of</strong> possible characters in the supported character set and was chosen to be a<br />

submultiple <strong>of</strong> the <strong>computer</strong>'s word size; h<strong>is</strong>torically, <strong>byte</strong>s have ranged from five to<br />

twelve bits. The popularity <strong>of</strong> IBM's System/360 architecture starting in the 1960s and<br />

the explosion <strong>of</strong> micro<strong>computer</strong>s <strong>ba</strong>sed on 8-bit microprocessors in the 1980s has<br />

made eight bits by far the most common size for a <strong>byte</strong>. The term octet <strong>is</strong> widely used<br />

as a more prec<strong>is</strong>e synonym where ambiguity <strong>is</strong> undesirable (for example, in protocol<br />

definitions).<br />

There has been considerable confusion about the meanings <strong>of</strong> SI prefixes used with<br />

the word "<strong>byte</strong>", such as kilo- (k or K) and mega- (M), as shown in the chart<br />

Quantities <strong>of</strong> <strong>byte</strong>s. Since <strong>computer</strong> memory comes in powers <strong>of</strong> 2 rather than 10, the<br />

industry used binary estimates <strong>of</strong> the SI-prefixed quantities. Because <strong>of</strong> the confusion,<br />

a contract specifying a quantity <strong>of</strong> <strong>byte</strong>s must define what the prefixes mean in terms<br />

<strong>of</strong> the contract (i.e., the alternate binary equivalents or the actual decimal values, or a<br />

binary estimate <strong>ba</strong>sed on the actual values).<br />

A <strong>byte</strong> <strong>is</strong> one <strong>of</strong> the <strong>ba</strong>sic integral data types in some programming languages,<br />

especially system programming languages.<br />

http://en.wikipedia.org/wiki/Byte<br />

Page 1 <strong>of</strong> 6<br />

2008/01/17


Byte - Wikipedia, the free encyclopedia<br />

To make the meaning <strong>of</strong> the table absolutely clear: A kibi<strong>byte</strong> <strong>is</strong> made up <strong>of</strong> 1,024<br />

<strong>byte</strong>s. A mebi<strong>byte</strong> <strong>is</strong> made up <strong>of</strong> 1,024 x 1,024 <strong>byte</strong>s. So that the figures in the column<br />

using 1,024 ra<strong>is</strong>ed to powers <strong>of</strong> 1,2,3,4 and so on are in <strong>unit</strong>s <strong>of</strong> <strong>byte</strong>s.<br />

Contents<br />

� 1 Meanings<br />

� 2 H<strong>is</strong>tory<br />

� 3 Alternate words<br />

� 4 Abbreviation/Symbol<br />

� 5 Names for different <strong>unit</strong>s<br />

� 6 See also<br />

� 7 Notes<br />

Meanings<br />

The word "<strong>byte</strong>" has numerous closely related meanings:<br />

1. A contiguous sequence <strong>of</strong> a fixed number <strong>of</strong> bits (binary digits). The use <strong>of</strong> a<br />

<strong>byte</strong> to mean 8 bits has become nearly ubiquitous.<br />

2. A contiguous sequence <strong>of</strong> bits within a binary <strong>computer</strong> that compr<strong>is</strong>es the<br />

smallest addressable sub-field <strong>of</strong> the <strong>computer</strong>'s natural word-size. That <strong>is</strong>, the<br />

smallest <strong>unit</strong> <strong>of</strong> binary data on which meaningful computation, or natural data<br />

boundaries, could be applied. For example, the CDC 6000 series scientific<br />

mainframes divided their 60-bit floating-point words into 10 six-bit <strong>byte</strong>s. These<br />

<strong>byte</strong>s conveniently held Hollerith data from punched cards, typically the uppercase<br />

alphabet and decimal digits. CDC also <strong>of</strong>ten referred to 12-bit quantities as<br />

<strong>byte</strong>s, each holding two 6-bit d<strong>is</strong>play code characters, due to the 12-bit I/O<br />

architecture <strong>of</strong> the machine. The PDP-10 used assembly instructions LDB and<br />

DPB to extract <strong>byte</strong>s — these operations survive today in Common L<strong>is</strong>p. Bytes<br />

<strong>of</strong> six, seven, or nine bits were used on some <strong>computer</strong>s, for example within the<br />

36-bit word <strong>of</strong> the PDP-10. The UNIVAC 1100/2200 series <strong>computer</strong>s (now<br />

Un<strong>is</strong>ys) addressed in both 6-bit (Fieldata) and 9-bit (ASCII) modes within its 36bit<br />

word.<br />

H<strong>is</strong>tory<br />

The term <strong>byte</strong> was coined by Dr. Werner Buchholz in July 1956, during the early<br />

Page 2 <strong>of</strong> 6<br />

design phase for the IBM Stretch <strong>computer</strong>. [1][2][3] Originally it was defined in<br />

instructions by a 4-bit <strong>byte</strong>-size field, allowing from one to sixteen bits (the<br />

production design reduced th<strong>is</strong> to a 3-bit <strong>byte</strong>-size field, allowing from one to eight<br />

bits in a <strong>byte</strong>); typical I/O equipment <strong>of</strong> the period used six-bit <strong>unit</strong>s. A fixed eight-bit<br />

<strong>byte</strong> size was later adopted and promulgated as a standard by the System/360. The<br />

term "<strong>byte</strong>" comes from "bite," as in the smallest amount <strong>of</strong> data a <strong>computer</strong> could<br />

http://en.wikipedia.org/wiki/Byte<br />

2008/01/17


Byte - Wikipedia, the free encyclopedia<br />

"bite" at once. The spelling change not only reduced the chance <strong>of</strong> a "bite" being<br />

m<strong>is</strong>taken for a "bit," but also was cons<strong>is</strong>tent with the penchant <strong>of</strong> early <strong>computer</strong><br />

scient<strong>is</strong>ts to make up words and change spellings. However, <strong>ba</strong>ck in the 1960s, the<br />

luminaries at IBM Education Department in the UK were teaching that a bit was a<br />

Binary digIT and a <strong>byte</strong> was a BinarY TuplE (from n-tuple, i.e. [quin]tuple, [sex]<br />

tuple, [sep]tuple, [oc]tuple ...), turning "<strong>byte</strong>" into a <strong>ba</strong>ckronym. A <strong>byte</strong> was also <strong>of</strong>ten<br />

referred to as "an 8-bit <strong>byte</strong>", reinforcing the notion that it was a tuple <strong>of</strong> n bits, and<br />

that other sizes were possible.<br />

1. A contiguous sequence <strong>of</strong> binary bits in a serial data stream, such as in modem or<br />

satellite communications, or from a d<strong>is</strong>k-drive head, which <strong>is</strong> the smallest<br />

meaningful <strong>unit</strong> <strong>of</strong> data. These <strong>byte</strong>s might include start bits, stop bits, or parity<br />

bits, and thus could vary from 7 to 12 bits to contain a single 7-bit ASCII code.<br />

2. A datatype or synonym for a datatype in certain programming languages. C and<br />

C++, for example, defines <strong>byte</strong> as "addressable <strong>unit</strong> <strong>of</strong> data storage large enough<br />

to hold any member <strong>of</strong> the <strong>ba</strong>sic character set <strong>of</strong> the execution<br />

environment" (clause 3.6 <strong>of</strong> the C standard). Since the C char integral data type<br />

must contain at least 8 bits (clause 5.2.4.2.1), a <strong>byte</strong> in C <strong>is</strong> at least capable <strong>of</strong><br />

holding 256 different values (signed or unsigned char does not matter). Various<br />

implementations <strong>of</strong> C and C++ define a "<strong>byte</strong>" as 8, 9, 16, 32, or 36 bits[1]<br />

(http://www.parashift.com/c++-faq-lite/intrinsic-types.html#faq-26.4)[2]<br />

(http://home.att.net/~jackklein/c/inttypes.html#char). The actual number <strong>of</strong> bits<br />

in a particular implementation <strong>is</strong> documented as CHAR_BIT as implemented in<br />

the limits.h file. Java's primitive <strong>byte</strong> data type <strong>is</strong> always defined as<br />

cons<strong>is</strong>ting <strong>of</strong> 8 bits and being a signed data type, holding values from −128 to<br />

127.<br />

Early microprocessors, such as <strong>In</strong>tel 8008 (the direct predecessor <strong>of</strong> the 8080, and then<br />

8086) could perform a small number <strong>of</strong> operations on four bits, such as the DAA<br />

(decimal adjust) instruction, and the "half carry" flag, that were used to implement<br />

decimal arithmetic routines. These four-bit quantities were called "nybbles," in<br />

homage to the then-common 8-bit "<strong>byte</strong>s."<br />

Alternate words<br />

Following "bit," "<strong>byte</strong>," and "nybble," there have been some analogical attempts to<br />

construct unambiguous terms for bit blocks <strong>of</strong> other sizes. [4] All <strong>of</strong> these are strictly<br />

jargon, and not very common.<br />

� 2 bits: crumb, quad, quarter, tayste, tydbit<br />

� 4 bits: nibble, nybble<br />

� 5 bits: nickle<br />

� 10 bits: deckle<br />

� 16 bits: playte, chawmp (on a 32-bit machine)<br />

� 18 bits: chawmp (on a 36-bit machine)<br />

� 32 bits: dynner, gawble (on a 32-bit machine)<br />

http://en.wikipedia.org/wiki/Byte<br />

Page 3 <strong>of</strong> 6<br />

2008/01/17


Byte - Wikipedia, the free encyclopedia<br />

� 48 bits: gawble (under circumstances that remain obscure)<br />

Abbreviation/Symbol<br />

IEEE 1541 and Metric-<strong>In</strong>terchange-Format (http://sw<strong>is</strong>s.csail.mit.edu/~jaffer/MIXF)<br />

specify "B" as the symbol for <strong>byte</strong> (e.g. MB means mega<strong>byte</strong>), whilst IEC 60027<br />

seems silent on the subject. Furthermore, B means bel (see decibel), another<br />

(logarithmic) <strong>unit</strong> used in the same field. The use <strong>of</strong> B to stand for bel <strong>is</strong> cons<strong>is</strong>tent<br />

with the metric system convention that capitalized symbols are for <strong>unit</strong>s named after a<br />

person (in th<strong>is</strong> case Alexander Graham Bell); usage <strong>of</strong> a capital B to stand for <strong>byte</strong> <strong>is</strong><br />

not cons<strong>is</strong>tent with th<strong>is</strong> convention. The <strong>unit</strong> symbol "kb" with a lowercase "b" <strong>is</strong> also<br />

commonly understood to stand for "kilo<strong>byte</strong>."<br />

IEEE 1541 specifies "b" as the symbol for bit; however the IEC 60027 and Metric-<br />

<strong>In</strong>terchange-Format specify "bit" (e.g. Mbit for megabit) for the symbol, achieving<br />

maximum d<strong>is</strong>ambiguation from <strong>byte</strong>.<br />

French-speaking countries sometimes use an uppercase "o" for "octet". Th<strong>is</strong> <strong>is</strong> not<br />

cons<strong>is</strong>tent with SI because <strong>of</strong> the r<strong>is</strong>k <strong>of</strong> confusion with the zero, and the convention<br />

that capitals are reserved for <strong>unit</strong> names derived from proper names, e.g., A=ampere,<br />

J=joule versus s=second, m=metre.<br />

Lowercase "o" for "octet" <strong>is</strong> a commonly used symbol in several non-Engl<strong>is</strong>hspeaking<br />

countries, and <strong>is</strong> also used with metric prefixes (for example, "ko" and<br />

"Mo").<br />

Names for different <strong>unit</strong>s<br />

The prefixes used for <strong>byte</strong> measurements are usually the same as the SI prefixes used<br />

for other measurements, but have slightly different values. The former are <strong>ba</strong>sed on<br />

powers <strong>of</strong> 1,024 (2 10 ), a convenient binary number, while the SI prefixes are <strong>ba</strong>sed on<br />

powers <strong>of</strong> 1,000 (10 3 ), a convenient decimal number. The table below illustrates these<br />

differences. See binary prefix for further d<strong>is</strong>cussion.<br />

Prefix Name SI Meaning Binary meaning Size difference<br />

K or k kilo 10 3 = 1000 1 2 10 = 1024 1 2.40%<br />

M mega 10 6 = 1000 2 2 20 = 1024 2 4.86%<br />

G giga 10 9 = 1000 3 2 30 = 1024 3 7.37%<br />

T tera 10 12 = 1000 4 2 40 = 1024 4 9.95%<br />

P peta 10 15 = 1000 5 2 50 = 1024 5 12.59%<br />

http://en.wikipedia.org/wiki/Byte<br />

Page 4 <strong>of</strong> 6<br />

2008/01/17


Byte - Wikipedia, the free encyclopedia<br />

E exa 10 18 = 1000 6 2 60 = 1024 6 15.29%<br />

<strong>In</strong> 1998, the IEC, then the IEEE, publ<strong>is</strong>hed a new standard describing binary prefixes:<br />

Prefix Name<br />

Kibi binary kilo 1 kibi<strong>byte</strong> (KiB) 2 10 <strong>byte</strong>s 1024 <strong>byte</strong>s<br />

Mebi binary mega 1 Mebi<strong>byte</strong> (MiB) 2 20 <strong>byte</strong>s 1024 KiB<br />

Gibi binary giga 1 Gibi<strong>byte</strong> (GiB) 2 30 <strong>byte</strong>s 1024 MiB<br />

Tebi binary tera 1 Tebi<strong>byte</strong> (TiB) 2 40 <strong>byte</strong>s 1024 GiB<br />

Pebi binary peta 1 Pebi<strong>byte</strong> (PiB) 2 50 <strong>byte</strong>s 1024 TiB<br />

Exbi binary exa 1 Exbi<strong>byte</strong> (EiB) 2 60 <strong>byte</strong>s 1024 PiB<br />

Fractional information <strong>is</strong> usually measured in bits, nibbles, nats, or <strong>ba</strong>ns, where the<br />

later two are used especially in the context <strong>of</strong> information theory and not generally<br />

with computing in general.<br />

See also<br />

� Bit<br />

� Word (computing)<br />

Notes<br />

1. ^ Origins <strong>of</strong> the Term "BYTE" (http://www.trailing-edge.com/~bobbemer/BYTE.HTM)<br />

Bob Bemer, accessed 2007-08-12<br />

2. ^ TIMELINE OF THE IBM STRETCH/HARVEST ERA (1956-1961)<br />

(http://archive.<strong>computer</strong>h<strong>is</strong>tory.org/resources/text/IBM/Stretch/102636400.txt)<br />

<strong>computer</strong>h<strong>is</strong>tory.org, '1956 July ... Werner Buchholz ... Werner's term "Byte" first<br />

popularized'<br />

3. ^ <strong>byte</strong> (http://catb.org/~esr/jargon/html/B/<strong>byte</strong>.html) catb.org, 'coined by Werner<br />

Buchholz in 1956'<br />

4. ^ nybble (http://dictionary.reference.com/browse/nybble) reference.com sourced from<br />

Jargon File 4.2.0, accessed 2007-08-12<br />

Retrieved from "http://en.wikipedia.org/wiki/Byte"<br />

Categories: All articles with unsourced statements | Articles with unsourced<br />

statements since February 2007 | Computing terminology<br />

http://en.wikipedia.org/wiki/Byte<br />

Page 5 <strong>of</strong> 6<br />

2008/01/17


Byte - Wikipedia, the free encyclopedia<br />

http://en.wikipedia.org/wiki/Byte<br />

Page 6 <strong>of</strong> 6<br />

� Th<strong>is</strong> page was last modified 17:49, 3 January<br />

2008.<br />

� All text <strong>is</strong> available under the terms <strong>of</strong> the<br />

GNU Free Documentation License. (See<br />

Copyrights for details.)<br />

Wikipedia® <strong>is</strong> a reg<strong>is</strong>tered trademark <strong>of</strong> the<br />

Wikimedia Foundation, <strong>In</strong>c., a U.S. reg<strong>is</strong>tered<br />

501(c)(3) tax-deductible nonpr<strong>of</strong>it charity.<br />

2008/01/17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!