차이점

이 페이지의 선택한 이전 버전과 현재 버전 사이의 차이점을 보여줍니다.

차이 보기로 연결

바이트 [2011-05-30 18:25] (현재)
줄 1: 줄 1:
 +====== 바이트 ======
  
 +Byte (기호 **B**). [[정보량]] 및 [[정보엔트로피]]의 [[단위]]로 [[비트]]의 [[정수]] 배로 정의된다. 바이트의 정의는 시대에 따라, 그리고 기계에 따라 다를 수 있으나 현재 대부분의 컴퓨터에서 1바이트는 8비트이다.
 +
 +===== 1바이트 = 8비트? =====
 +
 +바이트의 가장 중립적인 정의는 "주소로 표현 가능한 최소 단위"일 것이다. 예를 들어서 [[x86]] 아키텍처에서 8비트보다 작은 단위를 개별적으로 표현하는 방법은 없으므로 x86에서 1바이트는 8비트가 된다. 고대(?)의 컴퓨터에서는 1바이트가 4, 5, 6, 심지어 9비트인 경우도 있었으며 따라서 1바이트가 8비트라는 것은 항상 참은 아니다.
 +
 +현대에 들어서 1바이트가 8비트로 통용되는 이유는 아마도 8이 [[2의거듭제곱]]이기 때문일 것이다. 많은 기본 [[자료형]](이를테면 [[IEEE 754]]의 실수 자료형) 크기가 2<sup>k</sup>비트 꼴의 형태로 나타내지기 때문에 2의 거듭제곱이 아닌 크기는 사용이 많이 불편할 것이다. 물론 4나 16도 가능하긴 하지만, [[ASCII]] 같은 통용 문자 집합을 담을 수 있는 가장 작은 크기는 아마도 8비트일테니까.
 +
 +따라서 현대 컴퓨터에서 1바이트를 8비트로 생각하는 게 아주 틀린 가정은 아니다. 하지만 [[ISO C]]에서는 1바이트(즉, ''char''의 크기)가 8비트 이상이어야 함을 규정하고 있지 딱 8비트여야 함을 규정하고 있는 건 아니고, 앞으로 8비트보다 큰 바이트가 나타나면((실제로 몇몇 사람들은 [[유니코드]]의 도래와 함께 16비트 바이트의 가능성을 제시한 바가 있었다.)) 네트워크 프로그래밍 같은 거 할 때 많이 골을 썩여야 할 가능성도 있다.
 +
 +===== 파생 단위 =====
 +
 +대다수의 단위가 [[국제단위계접두어]]만을 사용하는 것과 비교해서, 바이트는 [[비트]]와 함께 ISO/IEC [[이진접두어]]가 사용되는 얼마 안 되는 단위 중 하나이다. 그렇다고 SI (십진) 접두어를 안 쓰는 것도 아니기 때문에 혼선이 있는데, 근래 들어 [[IEEE 1541]], [[IEC 60027]] 그리고 [[ISO IEC 80000]] 표준 등에서 둘을 완전히 가르려고 시도하고 있으므로 둘 사이의 차이를 정확히 알아 두는 것이 좋을 것 같다.
 +
 +1바이트가 몇비트인지 헷갈리는 경우를 방지하기 위하여 일부 비영어권 국가나 저수준 네트워크 프로토콜 등에서는 **옥텟**(octet, 기호 ''o'')을 항상 8비트로 정의하여 쓰는 경우도 있다.
 +
 +{{tag>단위}}

도쿠위키DokuWiki-custom(rev 9085d92e02)을 씁니다.
마지막 수정 2011-05-30 18:25 | 외부 편집기