프론트엔드 개발
CS 기초지식 비트와 바이트의 차이점 본문
비트와 바이트
컴퓨터가 이해할 수 있는 최소의 정보 단위: 0과 1
컴퓨터는 0과 1을 조합으로 이루어진 정보들을 처리할 수 있다.
컴퓨터가 처리할 수 있는 가장 최소 정보 단위 : Bit
Bit는 0 또는 1이라는 정보를 담을 수 있다.
0과 1이라는 정보들을 처리할 수 있다.
컴퓨터는 신호가 없고(0) 있고(1) 로만 다룰 수 있다.
1bit: 0, 1
1 bit당 2가지의 경우를 나타낼 수 있다.
2 bit (2X2) = 4가지 경우를 나타낼 수 있음
3 bit (2X2X2) = 8가지 경우를 나타낼 수 있음
1 Byte = 8 bit (2*8) = 256가지 경우 [0, 255]까지의 숫자를 나타낼 수 있음
문자코드
ASCll (아스키 코드) 1Byte로 표현 가능
한계점: 세상의 모든 언어의 문자열이 들어가 있지 않다. (한국어 포함)
Unicode (유니코드)
유니코드에 들어있는 모든 문자열은 1Byte에 전부 담을 수 없어서, 2Byte 이상의 Byte를 이용해서 문자열을 나타낼 수 있다.
다국어의 문자열을 포함하고 있고, 이모지, 심벌들도 포함되어있다. (한국어 포함)
컴퓨터 프로그래밍 예제
비트와 바이트를 잘 이해하면 컴퓨터 프로그래밍에서 변수 선언 시, 어떤 데이터 타입이냐에 따라서 메모리 공간이 얼마나 쓰이는지 결정되는지 이해할 수 있기 때문이다.
예를 들어, C에서
char 타입: 1Byte = 8 bit
short 타입: 2Byte = 16 bit
int 타입: 4Byte = 32 bit
long 타입: 8Byte = 64 bit
문자 인코딩
Text Encoding 이란, 현존하는 많은 문자들을 birary 형태로 나타낼 건지 규격을 약속하는 것
나라마다 다양한 인코딩 형태가 존재했는데, 이걸 해결하기 위해, UTF -8 이 나오게 되었다.
ASCll는 7 bits로 표현하기 때문에, 1Byte로 표현이 가능하고,
Unicode는 2Byte부터 4Byte까지 표현할 수 있다.
UTF-8 (unicode Transformation For mat( 8 bit )은 가변 길이 유니코드 인코딩( 길이가 정해져 있지 않고, 필요에 의해서 길이가 정해지는 형식)
UTF-16 마찬가지로 가변길이 유니코드 인코딩, 기본적으로 2Byte 사용
출처: https://www.youtube.com/watch?v=5IRFJt1C5o4