Thebyteis aunit of digital informationthat most commonly consists of eightbits.Historically, the byte was the number of bits used to encode a singlecharacterof text in a computer[1][2]and for this reason it is the smallestaddressableunit ofmemoryin manycomputer architectures.To disambiguate arbitrarily sized bytes from the common8-bitdefinition,networkprotocol documents such as theInternet Protocol(RFC791) refer to an 8-bit byte as anoctet.[3]Those bits in an octet are usually counted with numbering from 0 to 7 or 7 to 0 depending on thebit endianness.
byte | |
---|---|
Unit system | unit derived frombit |
Unit of | digital information, data size |
Symbol | B, o(when 8 bits) |
The size of the byte has historically beenhardware-dependent and no definitive standards existed that mandated the size. Sizes from 1 to 48 bits have been used.[4][5][6][7]Thesix-bit character codewas an often-used implementation in early encoding systems, and computers using six-bit and nine-bit bytes were common in the 1960s. These systems often hadmemory wordsof 12, 18, 24, 30, 36, 48, or 60 bits, corresponding to 2, 3, 4, 5, 6, 8, or 10 six-bit bytes, and persisted, in legacy systems, into the twenty-first century. In this era, bit groupings in the instruction stream were often referred to assyllables[a]orslab,before the termbytebecame common.
The modernde factostandardof eight bits, as documented in ISO/IEC 2382-1:1993, is a convenientpower of twopermitting thebinary-encodedvalues 0 through 255 for one byte, as 2 to the power of 8 is 256.[8]The international standardIEC 80000-13codified this common meaning. Many types of applications use information representable in eight or fewer bits and processor designers commonly optimize for this usage. The popularity of major commercial computing architectures has aided in the ubiquitous acceptance of the 8-bit byte.[9]Modern architectures typically use 32- or 64-bit words, built of four or eight bytes, respectively.
The unit symbol for the byte was designated as the upper-case letter B by theInternational Electrotechnical Commission(IEC) andInstitute of Electrical and Electronics Engineers(IEEE).[10]Internationally, the unitoctetexplicitly defines a sequence of eight bits, eliminating the potential ambiguity of the term "byte".[11][12]The symbol for octet, 'o', also conveniently eliminates the ambiguity in the symbol 'B' between byte andbel.
Etymology and history
editThe termbytewas coined byWerner Buchholzin June 1956,[4][13][14][b]during the early design phase for theIBM Stretch[15][16][1][13][14][17][18]computer, which had addressing to the bit and variable field length (VFL) instructions with a byte size encoded in the instruction.[13]It is a deliberate respelling ofbiteto avoid accidental mutation tobit.[1][13][19][c]
Another origin ofbytefor bit groups smaller than a computer's word size, and in particular groups offour bits,is on record by Louis G. Dooley, who claimed he coined the term while working withJules Schwartzand Dick Beeler on an air defense system calledSAGEatMIT Lincoln Laboratoryin 1956 or 1957, which was jointly developed byRand,MIT, and IBM.[20][21]Later on, Schwartz's languageJOVIALactually used the term, but the author recalled vaguely that it was derived fromAN/FSQ-31.[22][21]
Early computers used a variety of four-bitbinary-coded decimal(BCD) representations and thesix-bitcodes for printable graphic patterns common in theU.S. Army(FIELDATA) andNavy.These representations included Alpha numeric characters and special graphical symbols. These sets were expanded in 1963 to seven bits of coding, called theAmerican Standard Code for Information Interchange(ASCII) as theFederal Information Processing Standard,which replaced the incompatible teleprinter codes in use by different branches of the U.S. government and universities during the 1960s. ASCII included the distinction of upper- and lowercase Alpha bets and a set ofcontrol charactersto facilitate the transmission of written language as well as printing device functions, such as page advance and line feed, and the physical or logical control of data flow over the transmission media.[18]During the early 1960s, while also active in ASCII standardization, IBM simultaneously introduced in its product line ofSystem/360the eight-bitExtended Binary Coded Decimal Interchange Code(EBCDIC), an expansion of theirsix-bit binary-coded decimal(BCDIC) representations[d]used in earlier card punches.[23] The prominence of the System/360 led to the ubiquitous adoption of the eight-bit storage size,[18][16][13]while in detail the EBCDIC and ASCII encoding schemes are different.
In the early 1960s,AT&Tintroduceddigital telephonyon long-distancetrunk lines.These used the eight-bitμ-law encoding.This large investment promised to reduce transmission costs for eight-bit data.
In Volume 1 ofThe Art of Computer Programming(first published in 1968),Donald Knuthusesbytein his hypotheticalMIXcomputer to denote a unit which "contains anunspecifiedamount of information... capable of holding at least 64 distinct values...at most100 distinct values. On a binary computer a byte must therefore be composed of six bits ".[24]He notes that "Since 1975 or so, the wordbytehas come to mean a sequence of precisely eight binary digits...When we speak of bytes in connection with MIX we shall confine ourselves to the former sense of the word, harking back to the days when bytes were not yet standardized. "[24]
The development ofeight-bitmicroprocessorsin the 1970s popularized this storage size. Microprocessors such as theIntel 8080,the direct predecessor of the8086,could also perform a small number of operations on thefour-bitpairs in a byte, such as the decimal-add-adjust (DAA) instruction. A four-bit quantity is often called anibble,alsonybble,which is conveniently represented by a singlehexadecimaldigit.
The termoctetunambiguously specifies a size of eight bits.[18][12]It is used extensively inprotocoldefinitions.
Historically, the termoctadoroctadewas used to denote eight bits as well at least in Western Europe;[25][26]however, this usage is no longer common. The exact origin of the term is unclear, but it can be found in British, Dutch, and German sources of the 1960s and 1970s, and throughout the documentation ofPhilipsmainframe computers.
Unit symbol
editThe unit symbol for the byte is specified inIEC 80000-13,IEEE 1541and theMetric Interchange Format[10]as the upper-case character B.
In theInternational System of Quantities(ISQ), B is also the symbol of thebel,a unit of logarithmic power ratio named afterAlexander Graham Bell,creating a conflict with the IEC specification. However, little danger of confusion exists, because the bel is a rarely used unit. It is used primarily in its decadic fraction, thedecibel(dB), forsignal strengthandsound pressure levelmeasurements, while a unit for one-tenth of a byte, the decibyte, and other fractions, are only used in derived units, such as transmission rates.
The lowercase letter o foroctetis defined as the symbol for octet in IEC 80000-13 and is commonly used in languages such asFrench[27]andRomanian,and is also combined with metric prefixes for multiples, for example ko and Mo.
Multiple-byte units
editMultiple-byte units | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Orders of magnitude of data |
More than one system exists to defineunit multiplesbased on the byte. Some systems are based onpowers of 10,following theInternational System of Units(SI), which defines for example the prefixkiloas 1000 (103); other systems are based onpowers of 2.Nomenclature for these systems has led to confusion. Systems based on powers of 10 use standardSI prefixes(kilo,mega,giga,...) and their corresponding symbols (k, M, G,...). Systems based on powers of 2, however, might use binary prefixes (kibi,mebi,gibi,...) and their corresponding symbols (Ki, Mi, Gi,...) or they might use the prefixes K, M, and G, creating ambiguity when the prefixes M or G are used.
While the difference between the decimal and binary interpretations is relatively small for the kilobyte (about 2% smaller than the kibibyte), the systems deviate increasingly as units grow larger (the relative deviation grows by 2.4% for each three orders of magnitude). For example, a power-of-10-based terabyte is about 9% smaller than power-of-2-based tebibyte.
Units based on powers of 10
editDefinition of prefixes using powers of 10—in which 1kilobyte(symbol kB) is defined to equal 1,000 bytes—is recommended by the International Electrotechnical Commission (IEC).[28]The IEC standard defines eight such multiples, up to 1 yottabyte (YB), equal to 10008bytes.[29]The additional prefixesronna-for 10009andquetta-for 100010were adopted by theInternational Bureau of Weights and Measures(BIPM) in 2022.[30][31]
This definition is most commonly used fordata-rate unitsincomputer networks,internal bus, hard drive and flash media transfer speeds, and for the capacities of moststorage media,particularlyhard drives,[32]flash-based storage,[33]andDVDs.[citation needed]Operating systemsthat use this definition includemacOS,[34]iOS,[34]Ubuntu,[35]andDebian.[36]It is also consistent with the other uses of theSI prefixesin computing, such asCPU clock speedsormeasures of performance.
Units based on powers of 2
editA system of units based onpowers of 2in which 1 kibibyte (KiB) is equal to 1,024 (i.e., 210) bytes is defined by international standard IEC 80000-13 and is supported by national and international standards bodies (BIPM,IEC,NIST). The IEC standard defines eight such multiples, up to 1 yobibyte (YiB), equal to 10248bytes. The natural binary counterparts toronna-andquetta-were given in a consultation paper of the International Committee for Weights and Measures' Consultative Committee for Units (CCU) asrobi-(Ri, 10249) andquebi-(Qi, 102410), but have not yet been adopted by the IEC and ISO.[37]
An alternative system of nomenclature for the same units (referred to here as thecustomary convention), in which 1kilobyte(KB) is equal to 1,024 bytes,[38][39][40]1megabyte(MB) is equal to 10242bytes and 1gigabyte(GB) is equal to 10243bytes is mentioned by a 1990sJEDECstandard. Only the first three multiples (up to GB) are mentioned by the JEDEC standard, which makes no mention of TB and larger. While confusing and incorrect,[41]the customary convention is used by theMicrosoft Windowsoperating system[42][better source needed]andrandom-access memorycapacity, such as main memory andCPU cachesize, and in marketing and billing by telecommunication companies, such asVodafone,[43]AT&T,[44]Orange[45]andTelstra.[46]
Forstoragecapacity, the customary convention was used by macOS and iOS through Mac OS X 10.6 Snow Leopard and iOS 10, after which they switched to units based on powers of 10.[34]
Parochial units
editVarious computer vendors have coined terms for data of various sizes, sometimes with different sizes for the same term even within a single vendor. These terms includedouble word,half word,long word,quad word,slab,superwordandsyllable.There are also informal terms. e.g.,half byteandnybblefor 4 bits,octal Kfor 10008.
History of the conflicting definitions
editContemporary[e]computer memory has abinary architecturemaking a definition of memory units based on powers of 2 most practical. The use of the metric prefixkilofor binary multiples arose as a convenience, because1024is approximately1000.[27]This definition was popular in early decades ofpersonal computing,with products like theTandon51⁄4-inchDDfloppy format (holding368640bytes) being advertised as "360 KB", following the1024-byte convention. It was not universal, however. TheShugartSA-400 51⁄4-inchfloppy diskheld 109,375 bytes unformatted,[47]and was advertised as "110 Kbyte", using the 1000 convention.[48]Likewise, the 8-inchDECRX01 floppy (1975) held256256bytes formatted, and was advertised as "256k".[49]Some devices were advertised using amixtureof the two definitions: most notably, floppy disks advertised as "1.44 MB" have an actual capacity of1440 KiB,the equivalent of 1.47 MB or 1.41 MiB.
In 1995, theInternational Union of Pure and Applied Chemistry's (IUPAC) Interdivisional Committee on Nomenclature and Symbols attempted to resolve this ambiguity by proposing a set ofbinary prefixesfor the powers of 1024, including kibi (kilobinary), mebi (megabinary), and gibi (gigabinary).[50][51]
In December 1998, theIECaddressed such multiple usages and definitions by adopting the IUPAC's proposed prefixes (kibi, mebi, gibi, etc.) to unambiguously denote powers of 1024.[52]Thus one kibibyte (1 KiB) is 10241bytes = 1024 bytes, one mebibyte (1 MiB) is 10242bytes =1048576bytes, and so on.
In 1999,Donald Knuthsuggested calling the kibibyte a "large kilobyte" (KKB).[53]
Modern standard definitions
editThe IEC adopted the IUPAC proposal and published the standard in January 1999.[54][55]The IEC prefixes are part of theInternational System of Quantities.The IEC further specified that the kilobyte should only be used to refer to1000bytes.[citation needed]
Lawsuits over definition
editLawsuits arising from alleged consumer confusion over the binary and decimal definitions of multiples of the byte have generally ended in favor of the manufacturers, with courts holding that the legal definition of gigabyte or GB is 1 GB =1000000000(109) bytes (the decimal definition), rather than the binary definition (230,i.e.,1073741824). Specifically, the United States District Court for the Northern District of California held that "the U.S. Congress has deemed the decimal definition of gigabyte to be the 'preferred' one for the purposes of 'U.S. trade and commerce' [...] The California Legislature has likewise adopted the decimal system for all 'transactions in this state.'"[56]
Earlier lawsuits had ended in settlement with no court ruling on the question, such as a lawsuit against drive manufacturerWestern Digital.[57][58]Western Digital settled the challenge and added explicit disclaimers to products that the usable capacity may differ from the advertised capacity.[57]Seagate was sued on similar grounds and also settled.[57][59]
Practical examples
editUnit | Approximate equivalent |
---|---|
bit | aBooleanvariable indicating true (1) or false (0). |
byte | abasic Latincharacter. |
kilobyte | text of "Jabberwocky" |
a typicalfavicon | |
megabyte | text ofHarry Potter and the Goblet of Fire[60] |
gigabyte | about half an hour of video[61] |
CD-quality uncompressed audio ofThe Lamb Lies Down on Broadway | |
terabyte | the largest consumer hard drive in 2007[62] |
1080p 4:3video ofAvatar: The Last Airbenderanimated television series, all 61 episodes[f] | |
petabyte | 2000years ofMP3-encoded music[63] |
exabyte | global monthlyInternet trafficin 2004[64] |
zettabyte | global yearly Internet traffic in 2016 (known as theZettabyte Era)[65] |
Common uses
editManyprogramming languagesdefine thedata typebyte.
TheCandC++programming languages definebyteas an "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). The C standard requires that the integral data typeunsignedcharmust hold at least 256 different values, and is represented by at least eight bits (clause 5.2.4.2.1). Various implementations of C and C++ reserve 8, 9, 16, 32, or 36 bits for the storage of a byte.[66][67][g]In addition, the C and C++ standards require that there are no gaps between two bytes. This means every bit in memory is part of a byte.[68]
Java'sprimitive data typebyteis defined as eight bits. It is a signed data type, holding values from −128 to 127.
.NETprogramming languages, such asC#,definebyteas an unsigned type, and thesbyteas a signed data type, holding values from 0 to 255, and−128 to 127,respectively.
In data transmission systems, the byte is used as a contiguous sequence of bits in a serial data stream, representing the smallest distinguished unit of data. Forasynchronous communicationa full transmission unit usually additionally includes a start bit, 1 or 2 stop bits, and possibly aparity bit,and thus its size may vary from seven to twelve bits for five to eight bits of actual data.[69]Forsynchronous communicationthe error checking usually uses bytes at the end of aframe.
See also
editNotes
edit- ^The term syllable was used for bytes containing instructions or constituents of instructions, not for data bytes.
- ^Many sources erroneously indicate a birthday of the termbytein July 1956, butWerner Buchholzclaimed that the term would have been coined inJune 1956.In fact, theearliest documentsupporting this dates from 1956-06-11. Buchholz stated that the transition to 8-bit bytes was conceived inAugust 1956,but the earliest document found using this notion dates fromSeptember 1956.
- ^Some later machines, e.g.,Burroughs B1700,CDC 3600,DEC PDP-6,DEC PDP-10had the ability to operate on arbitrary bytes no larger than the word size.
- ^There was more than one BCD code page.
- ^Through the 1970s there were machines withdecimalarchitectures.
- ^ Video is encoded at a bitrate of 27.8 Mbit/s, with a runtime of1403 min[70](84180seconds) resulting in an approximate size of 0.2925 TB (0.2661 TiB).
- ^The actual number of bits in a particular implementation is documented as
CHAR_BIT
as implemented in the filelimits.h.
References
edit- ^abc
Blaauw, Gerrit Anne;Brooks, Jr., Frederick Phillips;Buchholz, Werner(1962),"Chapter 4: Natural Data Units"(PDF),inBuchholz, Werner(ed.),Planning a Computer System - Project Stretch,McGraw-Hill Book Company, Inc./ The Maple Press Company, York, PA., pp. 39–40,LCCN61-10466,archived fromthe original(PDF)on 2017-04-03,retrieved2017-04-03
Terms used here to describe the structure imposed by the machine design, in addition tobit,are listed below.
Bytedenotes a group of bits used to encode a character, or the number of bits transmitted in parallel to and from input-output units. A term other thancharacteris used here because a given character may be represented in different applications by more than one code, and different codes may use different numbers of bits (i.e., different byte sizes). In input-output transmission the grouping of bits may be completely arbitrary and have no relation to actual characters. (The term is coined frombite,but respelled to avoid accidental mutation tobit.)
Awordconsists of the number of data bits transmitted in parallel from or to memory in one memory cycle.Word sizeis thus defined as a structural property of the memory. (The termcatenawas coined for this purpose by the designers of theBullGAMMA 60 computer.)
Blockrefers to the number of words transmitted to or from an input-output unit in response to a single input-output instruction. Block size is a structural property of an input-output unit; it may have been fixed by the design or left to be varied by the program. - ^ Bemer, Robert William(1959), "A proposal for a generalized card code of 256 characters",Communications of the ACM,2(9): 19–23,doi:10.1145/368424.368435,S2CID36115735
- ^
Postel, J. (September 1981).Internet Protocol DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION.p. 43.doi:10.17487/RFC0791.RFC791.Retrieved28 August2020.
octet An eight bit byte.
- ^ab
Buchholz, Werner(1956-06-11)."7. The Shift Matrix"(PDF).The Link System.IBM.pp. 5–6.StretchMemo No. 39G. Archived fromthe original(PDF)on 2017-04-04.Retrieved2016-04-04.
[...] Most important, from the point of view of editing, will be the ability to handle any characters or digits, from 1 to 6 bits long.
Figure 2 shows the Shift Matrix to be used to convert a 60-bitword,coming from Memory in parallel, intocharacters,or 'bytes' as we have called them, to be sent to theAdderserially. The 60 bits are dumped intomagnetic coreson six different levels. Thus, if a 1 comes out of position 9, it appears in all six cores underneath. Pulsing any diagonal line will send the six bits stored along that line to the Adder. The Adder may accept all or only some of the bits.
Assume that it is desired to operate on 4 bitdecimal digits,starting at the right. The 0-diagonal is pulsed first, sending out the six bits 0 to 5, of which the Adder accepts only the first four (0-3). Bits 4 and 5 are ignored. Next, the 4 diagonal is pulsed. This sends out bits 4 to 9, of which the last two are again ignored, and so on.
It is just as easy to use all six bits inAlpha numericwork, or to handle bytes of only one bit for logical analysis, or to offset the bytes by any number of bits. All this can be done by pulling the appropriate shift diagonals. An analogous matrix arrangement is used to change from serial to parallel operation at the output of the adder. [...] - ^
3600 Computer System - Reference Manual(PDF).K. St. Paul, Minnesota, US:Control Data Corporation(CDC). 1966-10-11 [1965]. 60021300. Archived fromthe original(PDF)on 2017-04-05.Retrieved2017-04-05.
Byte - A partition of a computer word.
NB. Discusses 12-bit, 24-bit and 48-bit bytes. - ^
Rao, Thammavaram R. N.; Fujiwara, Eiji (1989). McCluskey, Edward J. (ed.).Error-Control Coding for Computer Systems.Prentice Hall Series in Computer Engineering (1 ed.). Englewood Cliffs, NJ, US:Prentice Hall.ISBN0-13-283953-9.LCCN88-17892.
NB. Example of the usage of a code for "4-bit bytes". - ^
Tafel, Hans Jörg (1971).Einführung in die digitale Datenverarbeitung[Introduction to digital information processing] (in German). Munich:Carl Hanser Verlag.p. 300.ISBN3-446-10569-7.
Byte = zusammengehörige Folge von i.a. neun Bits; davon sind acht Datenbits, das neunte ein Prüfbit
NB. Defines a byte as a group of typically 9 bits; 8 data bits plus 1 parity bit. - ^
ISO/IEC 2382-1: 1993, Information technology - Vocabulary - Part 1: Fundamental terms.1993.
byte:
A string that consists of a number of bits, treated as a unit, and usually representing a character or a part of a character.
NOTES:
1 The number of bits in a byte is fixed for a given data processing system.
2 The number of bits in a byte is usually 8. - ^ "Internet History of 1960s # 1964".Computer History Museum.2017 [2015].Archivedfrom the original on 2022-06-24.Retrieved2022-08-17.
- ^ab Jaffer, Aubrey(2011) [2008]."Metric-Interchange-Format".Archivedfrom the original on 2017-04-03.Retrieved2017-04-03.
- ^ Kozierok, Charles M. (2005-09-20) [2001]."The TCP/IP Guide - Binary Information and Representation: Bits, Bytes, Nibbles, Octets and Characters - Byte versus Octet".3.0.Archivedfrom the original on 2017-04-03.Retrieved2017-04-03.
- ^ab
ISO 2382-4, Organization of data(2 ed.).
byte, octet, 8-bit byte: A string that consists of eight bits.
- ^abcde
Buchholz, Werner(February 1977)."The Word" Byte "Comes of Age..."Byte Magazine.2(2): 144.
We received the following from W Buchholz, one of the individuals who was working on IBM's Project Stretch in the mid 1950s. His letter tells the story.
Not being a regular reader of your magazine, I heard about the question in the November 1976 issue regarding the origin of the term "byte" from a colleague who knew that I had perpetrated this piece of jargon[see page 77 of November 1976 BYTE, "Olde Englishe" ].I searched my files and could not locate a birth certificate. But I am sure that "byte" is coming of age in 1977 with its 21st birthday.
Many have assumed that byte, meaning 8 bits, originated with the IBM System/360, which spread such bytes far and wide in the mid-1960s. The editor is correct in pointing out that the term goes back to the earlier Stretch computer (but incorrect in that Stretch was the first, not the last, of IBM's second-generation transistorized computers to be developed).
The first reference found in the files was contained in an internal memo written in June 1956 during the early days of developingStretch.A byte was described as consisting of any number of parallel bits from one to six. Thus a byte was assumed to have a length appropriate for the occasion. Its first use was in the context of the input-output equipment of the 1950s, which handled six bits at a time. The possibility of going to 8-bit bytes was considered inAugust 1956and incorporated in the design of Stretchshortly thereafter.
The first published reference to the term occurred in 1959 in a paper 'Processing Data in Bits and Pieces' byG A Blaauw,F P Brooks JrandW Buchholzin theIRE Transactions on Electronic Computers,June 1959, page 121. The notions of that paper were elaborated inChapter 4 ofPlanning a Computer System (Project Stretch),edited by W Buchholz, McGraw-Hill Book Company (1962). The rationale for coining the term was explained there on page 40 as follows:
Bytedenotes a group of bits used to encode a character, or the number of bits transmitted in parallel to and from input-output units. A term other thancharacteris used here because a given character may be represented in different applications by more than one code, and different codes may use different numbers of bits (ie, different byte sizes). In input-output transmission the grouping of bits may be completely arbitrary and have no relation to actual characters. (The term is coined frombite,but respelled to avoid accidental mutation tobit.)
System/360took over many of the Stretch concepts, including the basic byte and word sizes, which are powers of 2. For economy, however, the byte size was fixed at the 8 bit maximum, and addressing at the bit level was replaced by byte addressing.
Since then the term byte has generally meant 8 bits, and it has thus passed into the general vocabulary.
Are there any other terms coined especially for the computer field which have found their way into general dictionaries of English language? - ^ab
"Timeline of the IBM Stretch/Harvest era (1956-1961)".Computer History Museum.June 1956. Archived fromthe originalon 2016-04-29.Retrieved2017-04-03.
1956 Summer:Gerrit Blaauw,Fred Brooks,Werner Buchholz,John Cockeand Jim Pomerene join theStretchteam. Lloyd Hunter providestransistorleadership.
1956 July [sic]: In a report Werner Buchholz lists the advantages of a 64-bit word length for Stretch. It also supportsNSA's requirement for 8-bit bytes. Werner's term "Byte" first popularized in this memo.NB. This timeline erroneously specifies the birth date of the term "byte" asJuly 1956,while Buchholz actually used the term as early asJune 1956.
- ^
Buchholz, Werner(1956-07-31)."5. Input-Output"(PDF).Memory Word Length.IBM.p. 2.StretchMemo No. 40. Archived fromthe original(PDF)on 2017-04-04.Retrieved2016-04-04.
[...] 60 is a multiple of 1, 2, 3, 4, 5, and 6. Hence bytes of length from 1 to 6 bits can be packed efficiently into a 60-bitwordwithout having to split a byte between one word and the next. If longer bytes were needed, 60 bits would, of course, no longer be ideal. With present applications, 1, 4, and 6 bits are the really important cases.
With 64-bit words, it would often be necessary to make some compromises, such as leaving 4 bits unused in a word when dealing with 6-bit bytes at the input and output. However, the LINK Computer can be equipped to edit out these gaps and to permit handling of bytes which are split between words. [...] - ^ab
Buchholz, Werner(1956-09-19)."2. Input-Output Byte Size"(PDF).Memory Word Length and Inde xing.IBM.p. 1.StretchMemo No. 45. Archived fromthe original(PDF)on 2017-04-04.Retrieved2016-04-04.
[...] The maximum input-output byte size for serial operation will now be 8 bits, not counting any error detection and correction bits. Thus, the Exchange will operate on an 8-bit byte basis, and any input-output units with less than 8 bits per byte will leave the remaining bits blank. The resultant gaps can be edited out later by programming [...]
- ^ Raymond, Eric Steven(2017) [2003]."byte definition".Archivedfrom the original on 2017-04-03.Retrieved2017-04-03.
- ^abcd
Bemer, Robert William(2000-08-08)."Why is a byte 8 bits? Or is it?".Computer History Vignettes.Archived fromthe originalon 2017-04-03.Retrieved2017-04-03.
I came to work forIBM,and saw all the confusion caused by the 64-character limitation. Especially when we started to think about word processing, which would require both upper and lower case.
Add 26 lower case letters to 47 existing, and one got 73 -- 9 more than 6 bits could represent.
I even made a proposal (in view ofSTRETCH,the very first computer I know of with an 8-bit byte) that would extend the number ofpunch cardcharacter codes to 256[1].
Some folks took it seriously. I thought of it as a spoof.
So some folks started thinking about 7-bit characters, but this was ridiculous. With IBM's STRETCH computer as background, handling 64-character words divisible into groups of 8 (I designed the character set for it, under the guidance of Dr.Werner Buchholz,the man who DID coin the term "byte" for an 8-bit grouping). [2] It seemed reasonable to make a universal 8-bit character set, handling up to 256. In those days my mantra was "powers of 2 are magic". And so the group I headed developed and justified such a proposal [3].
That was a little too much progress when presented to the standards group that was to formalize ASCII, so they stopped short for the moment with a 7-bit set, or else an 8-bit set with the upper half left for future work.
TheIBM 360used 8-bit characters, although not ASCII directly. Thus Buchholz's "byte" caught on everywhere. I myself did not like the name for many reasons. The design had 8 bits moving around in parallel. But then came a new IBM part, with 9 bits for self-checking, both inside the CPU and in thetape drives.I exposed this 9-bit byte to the press in 1973. But long before that, when I headed software operations forCie. Bullin France in 1965-66, I insisted that 'byte' be deprecated in favor of "octet".
You can notice that my preference then is now the preferred term.
It is justified by new communications methods that can carry 16, 32, 64, and even 128 bits in parallel. But some foolish people now refer to a "16-bit byte" because of this parallel transfer, which is visible in theUNICODEset. I'm not sure, but maybe this should be called a "hextet".
But you will notice that I am still correct. Powers of 2 are still magic! - ^ Blaauw, Gerrit Anne;Brooks, Jr., Frederick Phillips;Buchholz, Werner(June 1959). "Processing Data in Bits and Pieces".IRE Transactions on Electronic Computers:121.
- ^
Dooley, Louis G. (February 1995)."Byte: The Word".BYTE.Ocala, FL, US. Archived fromthe originalon 1996-12-20.
The word byte was coined around 1956 to 1957 atMIT Lincoln Laboratorieswithin a project calledSAGE(the North American Air Defense System), which was jointly developed byRand,Lincoln Labs, andIBM.In that era, computer memory structure was already defined in terms ofword size.A word consisted of x number ofbits;a bit represented a binary notational position in a word. Operations typically operated on all the bits in the full word.
We coined the word byte to refer to a logical set of bits less than a full word size. At that time, it was not defined specifically as x bits but typically referred to as a set of4 bits,as that was the size of most of our coded data items. Shortly afterward, I went on to other responsibilities that removed me from SAGE. After having spent many years in Asia, I returned to the U.S. and was bemused to find out that the word byte was being used in the new microcomputer technology to refer to the basic addressable memory unit. - ^ab Ram, Stefan (17 January 2003)."Erklärung des Wortes" Byte "im Rahmen der Lehre binärer Codes"(in German). Berlin, Germany:Freie Universität Berlin.Archivedfrom the original on 2021-06-10.Retrieved2017-04-10.
- ^
Origin of the term "byte", 1956,archivedfrom the original on 2017-04-10,retrieved2022-08-17
A question-and-answer session at anACM conferenceon the history of programming languages included this exchange:
[John Goodenough:
You mentioned that the term "byte" is used inJOVIAL.Where did the term come from? ]
[Jules Schwartz(inventor of JOVIAL):
As I recall, theAN/FSQ-31,a totally different computer than the709,was byte oriented. I don't recall for sure, but I'm reasonably certain the description of that computer included the word "byte," and we used it. ]
[Fred Brooks:
May I speak to that?Werner Buchholzcoined the word as part of the definition ofSTRETCH,and the AN/FSQ-31 picked it up from STRETCH, but Werner is very definitely the author of that word. ]
[ Schwartz:
That's right. Thank you. ] - ^"List of EBCDIC codes by IBM".ibm.2020-01-02.Archivedfrom the original on 2020-07-03.Retrieved2020-07-03.
- ^abKnuth, Donald (1997) [1968].The Art of Computer Programming: Volume 1: Fundamental Algorithms(3rd ed.). Boston: Addison-Wesley. p. 125.ISBN9780201896831.
- ^ Williams, R. H. (1969).British Commercial Computer Digest: Pergamon Computer Data Series.Pergamon Press.ISBN1483122107.ISBN978-1483122106[clarification needed]
- ^ "Philips Data Systems' product range"(PDF).Philips.April 1971. Archived fromthe original(PDF)on 2016-03-04.Retrieved2015-08-03.
- ^ab
[
|*| About bits and bytes: prefixes for binary multiples - IEC
|*| v0:https://web.archive.org/web/20090818042050/http:// iec.ch/online_news/etech/arch_2003/etech_0503/focus.htm
|*| v1:https:// iec.ch/prefixes-binary-multiplesArchived2021-08-16 at theWayback Machine] - ^Prefixes for Binary MultiplesArchived2007-08-08 at theWayback Machine— The NIST Reference on Constants, Units, and Uncertainty
- ^Matsuoka, Satoshi; Sato, Hitoshi; Tatebe, Osamu; Koibuchi, Michihiro; Fujiwara, Ikki; Suzuki, Shuji; Kakuta, Masanori; Ishida, Takashi; Akiyama, Yutaka; Suzumura, Toyotaro; Ueno, Koji (2014-09-15)."Extreme Big Data (EBD): Next Generation Big Data Infrastructure Technologies Towards Yottabyte/Year".Supercomputing Frontiers and Innovations.1(2): 89–107.doi:10.14529/jsfi140206.ISSN2313-8734.Archivedfrom the original on 2022-03-13.Retrieved2022-05-27.
- ^"List of Resolutions for the 27th meeting of the General Conference on Weights and Measures"(PDF).2022-11-18.Archived(PDF)from the original on 2022-11-18.Retrieved2022-11-18.
- ^Gibney, Elizabeth (18 November 2022)."How many yottabytes in a quettabyte? Extreme numbers get new names".Nature.doi:10.1038/d41586-022-03747-9.ISSN0028-0836.PMID36400954.S2CID253671538.Archivedfrom the original on 16 January 2023.Retrieved21 November2022.
- ^1977 Disk/Trend Report Rigid Disk Drives, published June 1977
- ^SanDisk USB Flash DriveArchived2008-05-13 at theWayback Machine"Note: 1 megabyte (MB) = 1 million bytes; 1 gigabyte (GB) = 1 billion bytes."
- ^abc"How iOS and macOS report storage capacity".Apple Support.27 February 2018.Archivedfrom the original on 9 April 2020.Retrieved9 January2022.
- ^"UnitsPolicy".Ubuntu Wiki.Ubuntu.Archivedfrom the original on 18 November 2021.Retrieved9 January2022.
- ^"ConsistentUnitPrefixes".Debian Wiki.Archivedfrom the original on 3 December 2021.Retrieved9 January2022.
- ^Brown, Richard J. C. (27 April 2022). "Reply to" Facing a shortage of the Latin letters for the prospective new SI symbols: alternative proposal for the new SI prefixes "".Accreditation and Quality Assurance.27(3): 143–144.doi:10.1007/s00769-022-01499-7.S2CID248397680.
- ^Kilobyte – Definition and More from the Free Merriam-Webster DictionaryArchived2010-04-09 at theWayback Machine.Merriam-webster (2010-08-13). Retrieved on 2011-01-07.
- ^Kilobyte – Definition of Kilobyte at DictionaryArchived2010-09-01 at theWayback Machine.Dictionary.reference (1995-09-29). Retrieved on 2011-01-07.
- ^Definition of kilobyte from Oxford Dictionaries OnlineArchived2006-06-25 at theWayback Machine.Askoxford. Retrieved on 2011-01-07.
- ^Prefixes for Binary and Decimal Multiples: Binary versus decimal
- ^"Determining Actual Disk Size: Why 1.44 MB Should Be 1.40 MB".Microsoft Support. 2003-05-06.Archivedfrom the original on 2014-02-09.Retrieved2014-03-25.
- ^"3G/GPRS data rates".Vodafone Ireland.Archivedfrom the original on 26 October 2016.Retrieved26 October2016.
- ^"Data Measurement Scale".AT&T.Retrieved26 October2016.[permanent dead link ]
- ^"Internet Mobile Access".Orange Romania. Archived fromthe originalon 26 October 2016.Retrieved26 October2016.
- ^"Our Customer Terms"(PDF).Telstra. p. 7.Archived(PDF)from the original on 10 April 2017.Retrieved26 October2016.
- ^"SA400 minifloppy".Swtpc. 2013-08-14. Archived fromthe originalon 2014-05-27.Retrieved2014-03-25.
- ^"Shugart Associates SA 400 minifloppy™ Disk Drive"(PDF).Archived fromthe original(PDF)on 2011-06-08.Retrieved2011-06-24.
- ^"RXS/RX11 floppy disk system maintenance manual"(PDF).Maynard, Massachusetts: Digital Equipment Corporation. May 1975. Archived fromthe original(PDF)on 2011-04-23.Retrieved2011-06-24.
- ^IUCr 1995 Report - IUPAC Interdivisional Committee on Nomenclature and Symbols (IDCNS)http://ww1.iucr.org/iucr-top/cexec/rep95/idcns.htmArchived2020-12-19 at theWayback Machine
- ^"Binary Prefix" University of Auckland Department of Computer Sciencehttps://wiki.cs.auckland.ac.nz/stageonewiki/index.php/Binary_prefixArchived2020-10-16 at theWayback Machine
- ^National Institute of Standards and Technology."Prefixes for binary multiples".Archivedfrom the original on 2007-08-08."In December 1998 theInternational Electrotechnical Commission(IEC) [...] approved as an IEC International Standard names and symbols for prefixes for binary multiples for use in the fields of data processing and data transmission. "
- ^"What is a kilobyte?".Archivedfrom the original on 2011-06-06.Retrieved2010-05-20.
- ^NIST "Prefixes for binary multiples"https://physics.nist.gov/cuu/Units/binary.htmlArchived2018-01-14 at theWayback Machine
- ^Amendment 2 to IEC International Standard IEC 60027-2: Letter symbols to be used in electrical technology – Part 2: Telecommunications and electronics.
- ^"Order Granting Motion to Dismiss"(PDF).United States District Court for the Northern District of California.Archived(PDF)from the original on 2021-10-07.Retrieved2020-01-24.
- ^abcMook, Nate (2006-06-28)."Western Digital Settles Capacity Suit".betanews.Archivedfrom the original on 2009-09-07.Retrieved2009-03-30.
- ^Baskin, Scott D. (2006-02-01)."Defendant Western Digital Corporation's Brief in Support of Plaintiff's Motion for Preliminary Approval".Orin Safier v. Western Digital Corporation.Western Digital Corporation.Archived fromthe originalon 2009-01-02.Retrieved2009-03-30.
- ^Judge, Peter (2007-10-26)."Seagate pays out over gigabyte definition".ZDNet.Archivedfrom the original on 2014-09-03.Retrieved2014-09-16.
- ^Allison Dexter, "How Many Words are in Harry Potter?",[1]Archived2021-01-25 at theWayback Machine;shows190637words
- ^"Kilobytes Megabytes Gigabytes Terabytes (Stanford University)".Archivedfrom the original on 2020-11-08.Retrieved2020-12-12.
- ^Perenson, Melissa J. (4 January 2007)."Hitachi Introduces 1-Terabyte Hard Drive".pcworld.Archived fromthe originalon 24 October 2012.Retrieved5 December2020.
- ^"What does a petabyte look like?".Archived fromthe originalon 28 January 2018.Retrieved19 February2018.
- ^Gross, Grant (24 November 2007)."Internet Could Max Out in 2 Years, Study Says".PC World.Archivedfrom the original on 26 November 2007.Retrieved28 November2007.
- ^"The Zettabyte Era Officially Begins (How Much is That?)".Cisco Blogs.2016-09-09.Archivedfrom the original on 2021-08-02.Retrieved2021-08-04.
- ^Cline, Marshall."I could imagine a machine with 9-bit bytes. But surely not 16-bit bytes or 32-bit bytes, right?".Archivedfrom the original on 2019-03-21.Retrieved2015-06-18.
- ^ Klein, Jack (2008),Integer Types in C and C++,archived fromthe originalon 2010-03-27,retrieved2015-06-18
- ^Cline, Marshall."C++ FAQ: the rules about bytes, chars, and characters".Archivedfrom the original on 2019-03-21.Retrieved2015-06-18.
- ^"External Interfaces/API".Northwestern University.Archivedfrom the original on 2018-08-09.Retrieved2016-09-02.
- ^ "Avatar - The Last Airbender: The Complete Series Blu-ray".Blu-ray.Archived fromthe originalon 2020-04-28.Retrieved2021-02-24.
Further reading
edit- "2.5 Byte manipulation"(PDF).Programming with the PDP-10 Instruction Set(PDF).PDP-10 System Reference Manual. Vol. 1.Digital Equipment Corporation(DEC). August 1969. pp. 2-15–2-17.Archived(PDF)from the original on 2017-04-05.Retrieved2017-04-05.
- Ashley Taylor. "Bits and Bytes". Stanford.https://web.stanford.edu/class/cs101/bits-bytes.html