{{위키데이터 속성 추적}}
{{다른 뜻}}
{{바이트 크기}}
[[파일:Binaryvdecimal.svg|섬네일|스토리지 크기가 늘어남에 따라 10진, 2진 해석의 차이가 커진다. 이를 백분율로 비교 차트이다.]]
'''바이트'''(byte)는 [[컴퓨터]]의 [[기억장치]]의 크기를 나타내는 단위로 자주 쓰이며, 많은 [[프로그래밍 언어]]에서 [[정수형]]에 속하는 [[자료형]]이기도 하다. 바이트의 실질적 의미는 [[ASCII]] 문자 하나를 나타낼 수 있다는 것이다. 따라서 여러 바이트를 한 [[워드 (컴퓨팅)|워드]]로 사용하고 있는 현재에도 대부분의 컴퓨터 하드웨어에서 메모리의 주소 단위로 사용된다.

== 역사 ==
"바이트"(byte)라는 용어는 1956년 6월 [[워너 벅홀츠]](Werner Buchholz)가 창안하였는데<ref name="Buchholz_1956_1">{{앵커|Buchholz-1956-1}}{{서적 인용 |title=The Link System |chapter=7. The Shift Matrix |author-first=Werner |author-last=Buchholz |author-link=Werner Buchholz |date=1956-06-11 |id=[[IBM Stretch|Stretch]] Memo No. 39G |publisher=[[IBM]] |pages=5–6 |url=http://archive.computerhistory.org/resources/text/IBM/Stretch/pdfs/06-07/102632284.pdf |access-date=2016-04-04 |url-status=dead |archive-url=https://web.archive.org/web/20170404152534/http://archive.computerhistory.org/resources/text/IBM/Stretch/pdfs/06-07/102632284.pdf |archive-date=2017-04-04 |quote=[…] 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.<br />Figure 2 shows the Shift Matrix to be used to convert a 60-bit [[word (computer architecture)|word]], coming from Memory in parallel, into [[character (computing)|characters]], or 'bytes' as we have called them, to be sent to the [[serial adder|Adder]] serially. The 60 bits are dumped into [[magnetic core]]s on 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.<br />Assume that it is desired to operate on 4 bit [[decimal digit]]s, 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.<br />It is just as easy to use all six bits in [[alphanumeric]] work, 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. […] }}</ref><ref name="Buchholz_1977">{{앵커|Buchholz-1977}}{{저널 인용|author-last=Buchholz |author-first=Werner |author-link=Werner Buchholz |title=The Word 'Byte' Comes of Age... |journal=[[Byte Magazine]] |date=February 1977 |volume=2 |issue=2 |page=144 |url=https://archive.org/stream/byte-magazine-1977-02/1977_02_BYTE_02-02_Usable_Systems#page/n145/mode/2up |quote=<!-- The Word "Byte" Comes of Age...<br />''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.''<br />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 prepetrated 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 developing [[IBM Stretch|Stretch]]. 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 in [[#Note-Dates|August 1956]] and incorporated in the design of Stretch [[#Buchholz-1956-3|shortly thereafter]]. The first published reference to the term occurred in 1959 in a paper '[[#Blaauw-1959|Processing Data in Bits and Pieces]]' by [[Gerrit Anne Blaauw|G&nbsp;A&nbsp;Blaauw]], [[Frederick Phillips Brooks, Jr.|F&nbsp;P&nbsp;Brooks&nbsp;Jr]] and [[Werner Buchholz|W&nbsp;Buchholz]] in the ''[[IRE Transactions on Electronic Computers]]'', June 1959, page 121. The notions of that paper were elaborated in Chapter 4 of ''[[#Buchholz-1962|Planning a Computer System (Project Stretch)]]'', edited by W&nbsp;Buchholz, [[McGraw-Hill Book Company]] (1962). The rationale for coining the term was explained there on page 40 as follows:<br />Byte ''denotes 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 than ''character'' is 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 from ''[[bite]]'', but respelled to avoid accidental mutation to ''bit''.)''<br />[[System/360]] took 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?<br />W. Buchholz<br />24 Edge Hill Rd<br />Wappingers Fall NY 12590 -->}}</ref><ref name="Timeline_1956">{{웹 인용 |title=Timeline of the IBM Stretch/Harvest era (1956–1961) |publisher=[[Computer History Museum]] |date=June 1956 |url=http://archive.computerhistory.org/resources/text/IBM/Stretch/102636400.txt |access-date=2017-04-03 |url-status=dead |archive-url=https://web.archive.org/web/20160429212717/http://archive.computerhistory.org/resources/text/IBM/Stretch/102636400.txt |archive-date=2016-04-29 |quote=1956 Summer: [[Gerrit Blaauw]], [[Fred Brooks]], [[Werner Buchholz]], [[John Cocke]] and Jim Pomerene join the [[IBM Stretch|Stretch]] team. Lloyd Hunter provides [[transistor]] leadership.<br />{{sic|1956 July|expected=1956 June}}: In a report Werner Buchholz lists the advantages of a 64-bit word length for Stretch. It also supports [[NSA]]'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" as ''[[#Note-Dates|July 1956]]'', while Buchholz actually used the term as early as ''[[#Buchholz-1956-1|June 1956]]''.)</ref>{{efn|{{앵커|Note-Dates}}Many sources erroneously indicate a birthday of the term ''byte'' in July 1956, however, [[Werner Buchholz]] claimed that the term would have been coined in [[#Buchholz-1977|June 1956]]. In fact, the [[#Buchholz-1956-1|earliest document]] supporting this dates from 1956-06-11. Buchholz stated that the transition to 8-bit bytes was conceived in [[#Buchholz-1977|August 1956]], however, so far the earliest document found using this notion dates from [[#Buchholz-1956-3|September 1956]].}}, 당시 [[IBM 7030 스트레치|IBM 스트레치]] 컴퓨터의 초기 설계를 하고 있던 시기였으며<ref name="Buchholz_1956_2">{{서적 인용 |title=Memory Word Length |chapter=5. Input-Output |author-first=Werner |author-last=Buchholz |author-link=Werner Buchholz |date=1956-07-31 |id=[[IBM Stretch|Stretch]] Memo No. 40 |publisher=[[IBM]] |page=2 |url=http://archive.computerhistory.org/resources/text/IBM/Stretch/pdfs/06-08/102632289.pdf |access-date=2016-04-04 |url-status=dead |archive-url=https://web.archive.org/web/20170404160423/http://archive.computerhistory.org/resources/text/IBM/Stretch/pdfs/06-08/102632289.pdf |archive-date=2017-04-04 |quote=[…] 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-bit [[word (computer architecture)|word]] without 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.<br />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. […] }}</ref><ref name="Buchholz_1956_3">{{앵커|Buchholz-1956-3}}{{서적 인용 |title=Memory Word Length and Indexing |chapter=2. Input-Output Byte Size |author-first=Werner |author-last=Buchholz |author-link=Werner Buchholz |date=1956-09-19 |id=[[IBM Stretch|Stretch]] Memo No. 45 |publisher=[[IBM]] |page=1 |url=http://archive.computerhistory.org/resources/text/IBM/Stretch/pdfs/06-08/102632292.pdf |access-date=2016-04-04 |url-status=dead |archive-url=https://web.archive.org/web/20170404161611/http://archive.computerhistory.org/resources/text/IBM/Stretch/pdfs/06-08/102632292.pdf |archive-date=2017-04-04 |quote=[…] 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 […] }}</ref><ref name="Buchholz_1962">{{앵커|Buchholz-1962}}{{인용|title=Planning a Computer System – Project Stretch |author-first1=Gerrit Anne |author-last1=Blaauw |author-link1=Gerrit Anne Blaauw |author-first2=Frederick Phillips |author-last2=Brooks, Jr. |author-link2=Frederick Phillips Brooks, Jr. |author-first3=Werner |author-last3=Buchholz |author-link3=Werner Buchholz |editor-first=Werner |editor-last=Buchholz |editor-link=Werner Buchholz |publisher=[[McGraw-Hill Book Company, Inc.]] / The Maple Press Company, York, PA. |lccn=61-10466 |year=1962 |chapter=4: Natural Data Units |format=PDF |pages=39–40 |url=http://archive.computerhistory.org/resources/text/IBM/Stretch/pdfs/Buchholz_102636426.pdf |access-date=2017-04-03 |url-status=live |archive-url=https://web.archive.org/web/20170403014651/http://archive.computerhistory.org/resources/text/IBM/Stretch/pdfs/Buchholz_102636426.pdf |archive-date=2017-04-03 |quote=[…] Terms used here to describe the structure imposed by the machine design, in addition to ''[[비트 (단위)|bit]]'', are listed below.<br />''Byte'' denotes 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 than ''[[character (computing)|character]]'' is 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 from ''[[bite]]'', but respelled to avoid accidental mutation to ''bit''.)<br />A ''[[Word (unit)|word]]'' consists of the number of data bits transmitted in parallel from or to memory in one memory cycle. [[Word size]] is thus defined as a structural property of the memory. (The term ''[[catena (unit)|catena]]'' was coined for this purpose by the designers of the [[Groupe Bull|Bull]] {{ill|Bull Gamma 60{{!}}GAMMA 60|fr|Gamma 60}} computer.)<br />''[[Block (data storage)|Block]]'' refers 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. […]}}</ref><ref name="Buchholz_1977"/><ref name="Timeline_1956"/><ref name="ESR">{{웹 인용|title=byte definition |author-first=Eric Steven |author-last=Raymond |author-link=Eric Steven Raymond |date=2017 |orig-year=2003 |url=http://catb.org/~esr/jargon/html/B/byte.html |access-date=2017-04-03 |url-status=live |archive-url=https://web.archive.org/web/20170403120304/http://catb.org/~esr/jargon/html/B/byte.html |archive-date=2017-04-03}}</ref><ref name="Bemer_2000">{{웹 인용 |title=Why is a byte 8 bits? Or is it? |author-first=Robert William |author-last=Bemer |author-link=Robert William Bemer |date=2000-08-08 |work=Computer History Vignettes |url=http://www.bobbemer.com/BYTE.HTM |access-date=2017-04-03 |url-status=dead |archive-url=https://web.archive.org/web/20170403130829/http://www.bobbemer.com/BYTE.HTM |archive-date=2017-04-03 |quote=[…] I came to work for [[IBM]], 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 of [[IBM Stretch|STRETCH]], the very first computer I know of with an 8-bit byte) that would extend the number of [[punch card]] character 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. --> The [[IBM System 360|IBM 360]] used 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 the [[tape drive]]s. I exposed this 9-bit byte to the press in 1973. But long before that, when I headed software operations for [[Cie. Bull]] in France in 1965–66, I insisted that 'byte' be deprecated in favor of '[[octet (computing)|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 the [[UNICODE]] set. 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! --> }}</ref>, 비트 및 가변 필드 길이(VFL) 명령을 한 바이트 크기로 인코딩하려던 참이었다.<ref name="Buchholz_1977"/> 우연적으로 비트(bit)로 발음되지 않도록 "바이트"(byte)로 철자를 바꾸었다.<ref name="Buchholz_1962"/><ref name="Buchholz_1977"/><ref name="Blaauw_1959">{{앵커|Blaauw-1959}}{{저널 인용|title=Processing Data in Bits and Pieces |author-first1=Gerrit Anne |author-last1=Blaauw |author-link1=Gerrit Anne Blaauw |author-first2=Frederick Phillips |author-last2=Brooks, Jr. |author-link2=Frederick Phillips Brooks, Jr. |author-first3=Werner |author-last3=Buchholz |author-link3=Werner Buchholz |journal=[[IRE Transactions on Electronic Computers]] |date=June 1959 |page=121}}</ref>

== 정의 ==
바이트의 정의는 여러 가지가 있으며, 서로 비슷한 뜻을 지니지만 섞어 쓸 경우 혼동을 부를 수도 있다.

# 일정한 개수의 [[비트 (단위)|비트]]로 이루어진 연속된 비트열. ‘일정한 개수’가 항상 정해진 건 아니지만, 최근에는 사실상 1바이트를 8비트로 간주하는 경우가 흔하다.
# 이진 컴퓨터의 [[워드 (컴퓨팅)|워드]] 안에서 주소로 표현할 수 있는 가장 작은 단위에 해당하는 연속된 비트열. 예를 들어서 [[CDC 6000 계열]]의 메인프레임은 60비트 [[부동 소수점|부동소수점]] 실수를 6비트짜리 바이트 10개로 나눴으며, 따라서 대문자 로마자와 숫자만을 표현할 수 있는 [[천공 카드]]에 결과를 출력하기가 용이했다. 또한 CDC의 경우 12비트 I/O를 사용했기 때문에 12비트를 1바이트라 부르기도 했다. 이 정의 역시 최근에는 대부분 8비트를 가리키지만, 역사적으로 6비트, 7비트, 9비트 등의 바이트가 존재했다.
# 직렬 데이터 스트림(예를 들어서 [[모뎀]] 등)에서 의미를 가지는 가장 작은 연속된 비트열. 여기에는 시작 비트, 종료 비트, 패리티 비트 등이 포함될 수 있으며, 예를 들어 7비트 [[ASCII]] 부호를 저장할 경우 최소 7비트에서 최고 12비트가 한 바이트가 될 수 있다.
# 몇몇 [[프로그래밍 언어]]의 [[자료형]]. 예를 들어 [[C (프로그래밍 언어)|C]]의 경우 한 바이트는 실행 환경에서 쓰이는 문자들을 담을 수 있을 만큼 큰 단위(C 표준 3.5항)로 정의되며, 한 바이트를 담는 <code>char</code> 자료형은 부호가 있느냐 없느냐와 상관 없이 적어도 8비트 이상(5.2.4.2.1항)이어야 한다. [[자바 (프로그래밍 언어)|자바]]의 <code>byte</code> 자료형은 항상 부호가 있으며 8비트로 정의된다.

한 바이트 안의 비트의 개수가 중요할 경우에는 흔히 [[옥텟 (컴퓨팅)|옥텟]](octet)과 같이 크기가 일정한 단위를 쓰기도 하며, 특히 [[컴퓨터 네트워크]]와 [[전기통신]]에서 흔히 쓰인다. 또한 [[프랑스어]]에서는 옥텟을 바이트의 뜻으로 쓰기도 한다.

== 기호와 접두어 ==
[[IEEE 1541]]에서는 바이트의 기호를 ‘B’로 정했으며 접두어와 함께 많이 사용되지만, [[IEC 60027]]-2에서는 여기에 대한 언급이 없다. 또한 B는 유사한 분야에서 쓰이는 [[데시벨|벨]]의 단위이기도 하다. 비슷하게 IEEE 1541은 [[비트 (단위)|비트]]의 기호를 ‘b’로 정했지만 IEC 60027-2는 bit를 그대로 기호로 쓰고 있다.

바이트보다 더 큰 단위를 나타내기 위해 기호에 접두어를 붙여 쓸 수 있다. 여기에는 기존의 10진법 기준 [[SI 접두어]]와 IEC 60027-2에서 정의한 [[이진 접두어]]가 공존하고 있는데, SI 접두어 뒤에 ‘i’를 붙이면 비슷한 크기의 이진 접두어가 된다. (예를 들어, 1MB = 1,000,000 바이트 ≒ 1,048,576 바이트 = 1MiB) 하지만 SI 접두어를 이진 접두어의 의미로 사용하는 경우도 흔히 볼 수 있으며 두 기준이 서로 섞이는 경우도 있다. 예를 들어 1.44MB [[플로피 디스크]]의 실제 용량은 1.44MB(= 1,440,000 바이트)나 1.44MiB(= 약 1,509,949 바이트)가 아닌 1440KiB(= 1,474,560 바이트)이다.

바이트는 추상적인 단위이기 때문에 바이트보다 더 작은 단위를 나타내는 접두어는 존재하지 않는다. 다만 비트보다 크고 바이트보다 작은 단위는 몇 개가 있다.

== 관련 단위 ==
* [[옥텟 (컴퓨팅)|옥텟]](octet): 한데 묶여 쓰이는 2진 이진부호모음. 바이트가 8비트를 가리킬 때 서로 같은 뜻을 갖는다. 전기통신 분야에서는 바이트란 용어 대신 옥텟이란 표현을 사용한다. '''팔중수'''라고도 부른다.
* [[니블]](nibble) = 1바이트의 절반으로 보통 4비트를 가리킨다. 이때 바이트 하나는 상위 니블(상위 4비트)과 하위 니블(하위 4비트)로 나눌 수 있다.
* [[비트 (단위)|비트]](bit): 비트는 전산학과 정보 이론의 정보 단위이다.
* [[워드 (컴퓨팅)|워드]](word): 전자통신 기기에 따라 2바이트 또는 4바이트를 묶어서 부르는 단위이다.
* [[킬로바이트]](kbyte): 1024 바이트는 1 킬로바이트이다.

== 같이 보기 ==
* [[비트 (단위)|비트]], [[워드 (컴퓨팅)|워드]]
* [[기억장치]]
* [[자료형]]
{{위키공용분류|Bit and byte}}

== 각주 ==
{{각주|30em}}
; 내용주
<references group="lower-alpha" />

{{정보 단위}}
{{자료형}}

[[분류:자료형]]
[[분류:정보의 단위]]
[[분류:컴퓨터 메모리]]
[[분류:원시 자료형]]
[[분류:데이터 단위]]
[[분류:8]]
[[분류:1950년대 신조어]]