대학교 1학년 때 배우고 까먹어버린 진법... 복습하기 위해 글로 정리하기로 했다.
비트와 바이트
디지털 세계는 2진법으로 정보를 나타내는 게 제일 효율적이다. 그래서 컴퓨터는 0과 1 두 개의 숫자만 사용해 수를 나타내는 2진법을 사용한다.
0 또는 1의 값을 가지는 디지털 데이터의 가장 작고 기본적인 단위를 비트(bit)라고 한다. 컴퓨터는 모든 데이터를 비트로 나타낸다. 하지만 비트 한 개로는 많은 양의 데이터를 나타낼 수 없기 때문에 여러 비트를 사용해 정보를 나타낸다. 일반적으로 8개의 비트를 묶어서 데이터를 처리하며, 8개의 비트가 모인 형태를 1 바이트(byte)라고 한다. 1 바이트는 28=256만큼의 데이터를 표현할 수 있다.
2진법과 10진법
2진법으로 나타낸 숫자는 어떤 숫자를 어떻게 해석하면 좋을까? 우리가 10진법으로 나타낸 숫자를 읽는 이해하는 방식과 똑같다.
위 숫자를 10진법으로 읽으면 110이라고 쉽게 읽힌다. 어떻게 한 것일까...
우리는 숫자를 읽을 때, 각 자리의 숫자에 그 자리의 위치만큼의 10을 거듭제곱한 값을 곱한 다음, 이들을 모두 더하는 방식을 빠르게 수행한다. 예를 들어서 110은 (1 * 100) + (1 * 10) + (0 * 1)과 같다.
그렇다면 110을 2진법으로 읽는다면?
각 자리의 숫자에 그 자리의 위치만큼의 2를 거듭제곱한 값을 곱한 다음, 이들을 모두 더하면 된다. 110은 2진법으로 읽으면 (1 * 4) + (1 * 2) + (0 * 1) = 6이 된다.
16진법
2진법은 0과 1, 10진법은 0~9로 수를 표현한다면, 16진법은 0~9, a~f 총 16개의 숫자 혹은 문자를 이용해 수를 나타내는 방법이다.
2진법을 16진법으로 표현하면 긴 숫자를 더 짧고 간단하게 나타낼 수 있다. 16진법은 24=16 만큼의 정보를 표현할 수 있기 때문에 16진법의 각 자리는 4bit를 차지한다. 그래서 2진법에서 4bit만큼의 정보를 16진법을 나타내는 하나의 문자로 나타낼 수 있다. 참고로 16진법은 16진법을 사용했다는 표시로 앞에 0x를 붙인다.
참고 및 출처
https://www.boostcourse.org/cs112/lecture/118997?isDesc=false
'컴퓨터 과학' 카테고리의 다른 글
부동소수점에 오차가 발생하는 이유(feat. IEEE 754) (2) | 2024.10.06 |
---|---|
컴파일러(Compiler)와 인터프리터(Interpreter) (1) | 2024.06.13 |
ASCII 유니코드 UTF-8? (1) | 2024.06.13 |