바이트 - 위키백과, 우리 모두의 백과사전

 

바이트(byte)는 컴퓨터의 기억장치의 크기를 나타내는 단위로 자주 쓰이며, 많은 프로그래밍 언어에서 정수형에 속하는 자료형이기도 하다. 바이트의 실질적 의미는 ASCII 문자 하나를 나타낼 수 있다는 것이다. 따라서 여러 바이트를 한 워드로 사용하고 있는 현재에도 대부분의 컴퓨터 하드웨에서 메모리의 주소 단위로 사용된다.

 

정의[편집]

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

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

번호 제목 글쓴이 날짜 조회 수
공지 Software Development Trend (with Java) 황제낙엽 2024.01.19 2912
154 페이스북에서 알게된 AI의 현주소 황제낙엽 2026.05.22 116
153 MIT License 의 AI Coding Agent - Opencode 황제낙엽 2026.01.23 176
152 개발자를 위한 바이브 코딩 추천 툴 7가지 황제낙엽 2025.12.07 192
151 현재 유행하는 AI 들을 이용하는 방법 황제낙엽 2025.01.31 1136
150 SAP GUI AI Agent를 생성했습니다. 황제낙엽 2025.01.12 592
149 프로그래밍에서 polling 의 의미 황제낙엽 2025.01.05 459
148 [Gemini] server 에서 client 의 function call 를 위한 방안과 특징 황제낙엽 2025.01.03 418
147 Gretty 와 Jetty 에 대하여 황제낙엽 2024.11.01 602
146 naver(네이버) developers에서 제공하는 OAuth REST API 관련 링크 황제낙엽 2023.12.31 452
145 (bing) 소프트웨어의 일반적인 버전 관리 규칙 황제낙엽 2023.10.24 456
144 kakao(카카오) developers에서 제공하는 OAuth REST API 관련 링크 황제낙엽 2023.10.22 506
143 식품(상품) 바코드를 조회하여 제품 정보 획득하기 file 황제낙엽 2023.08.07 1455
142 식약처(식품의약품안전처) 공공데이터 API 황제낙엽 2023.08.07 652
141 서비스 이용약관과 개인정보 처리방침 황제낙엽 2023.07.15 446
140 프로젝트 운영 관리 소프트웨어로 100% 자동화된 '데브옵스(DevOps)' 구축하기 (LG CNS) secret 황제낙엽 2023.07.12 65
139 개발자이기 전에 노동자로써의 삶에 대한 고찰 (지극히 개인적인 사설) 황제낙엽 2023.02.28 472
138 [SDC22 키노트 요약정리] 더 쉽게, 끊김 없이 매끄럽게! ‘캄 테크’ 향해 진화하는 미래의 집 황제낙엽 2022.12.24 501
137 변수 네이밍 표기법 종류 file 황제낙엽 2022.11.30 479
136 이미지에서 텍스트를 추출하는 OCR 방법들 file 황제낙엽 2022.09.23 566
135 지수(과학적 표기법, "E") 서식 지정자 (2) 황제낙엽 2021.07.06 495