bit, nibble, byte

세진
4 min readMar 3, 2024

오늘은 bit, nibble, byte 그리고 2진수 10진수 16진수의 관계를 알아볼 것이다.

bit

비트는 정보의 최소 단위이다. 쉽게 말해서 스위치 이다. 일반적인 스위치는 0(OFF)과 1(ON)만을 표현할 수 있다. 스위치가 1일 경우 표현 할 수 있는 숫자는 0 ~ 1까지 총 2 개이다.

0은 0으로 표현 하고 1은 1로 표현한 것이다.

그럼 비트가 2개라면 몇 가지의 숫자를 표현 할 수 있을까?
수학 시간에 졸지 않았다면 알 것이다 바로 4개이다.

2개의 비트 만을 사용해 4개의 숫자를 표현한 것이다.

이렇게 2개의 비트로 0 과 1만을 사용해 4개의 숫자를 표현할 수 있다.

nibble

비트를 4개 모은 단위를 니블이 라고 한다.
니블로 표현 가능한 숫자는 16개이다. 여기서 16에 집중 해야 한다.
(2⁴ = 16)

byte

니블을 2개 모은 단위를 바이트라고 한다.

즉 8 개의 비트가 하나의 바이트가 된다 바이트가 표현할 수 있는 숫자는 256개이다.
(2⁸ = 256)

4개의 비트가 하나의 니블, 2개의 니블이 하나의 바이트

10진수

2진수를 이해하기 위해서는 10진수를 알아야 한다.
우리가 흔히 일상에서 사용하는 숫자가 10진수 이다.

인간이 10진수를 사용하게 된 이유는 손가락이 10개 즉 한번에 표현할 수 있는 숫자가 10개이기 때문이다.

  • 10진수는 1의 자리 숫자가 0 ~ 9까지 총 10 개이다.
  • 9보다 높은 숫자를 표현 하기 위해 1의 자리는 0을 10에 자리에는 1을 사용해 9보다 높은 숫자를 표현 한다

2진수

컴퓨터는 2진수를 사용한다. 컴퓨터는 전기 신호를 통해 정보를 인지 하는데 한 번에 표현할 수 있는 정보가 전기 신호를 통해서 전류를 흐르게 하는 것과 흐르게 하지 않는 것 총 2개 이기 때문에 2진수를 사용한다.

  • 2진수는 1의 자리 숫자가 0 ~ 1까지 총 2개이다.
  • 2보다 높은 숫자를 표현 하기 위해 1의 자리는 0을 10에 자리에는 1을 사용해 2보다 높은 숫자를 표현 한다
  • 10진수 : 2진수
  • 0 : 0
  • 1 : 1
  • 2 : 10
  • 3 : 11
  • 4 : 100

으로 표현한다.

16 진수

마지막으로 16진수를 알아 보겠다.
왜 2진수와 10진수는 이해가 되는데 16진수는 왜 사용하는 것일까?

16진수는 니블(nibble)과 연관이 있다.
우선 2진수는 사람이 사용하기에 많은 불편함이 있다.

  • 0 과 1 로만 이루어져 있기 때문에 사람이 식별하기에 불편하다.
  • 조금만 큰 수를 표현해도 말도 안되게 숫자가 길어진다.

이러한 이유 때문에 16 진수가 나오게 되었다.

  • 16진수는 1의 자리 숫자가 0 ~ f까지 총 16개이다.

nibble과 16진수

1개의 니블(nibble)이 표현 가능한 숫자는 총 16개이다 16진수를 통해서는 1개의 니블을 1의 자리 숫자로 표현이 가능한 것이다.

위와 같이 10진수 32는 2진수로 0010 0000 이다.
하지만 이것을 16진수로 변환하면 20이 된다.
정말 많이 단축이 된다.

변환 방법은 간단하다 니블 단위(4bit)로 끊어 2진수를 10진수로 변환해준 뒤 10진수를 16진수로 변환해주면 된다.

  • 2진수에서 바로 16진수로 변환해도 된다.

진수 표기법

진수를 표기할 때는 진수끼리 헷갈리지 않게 앞에 접두어를 붙인다.

  • 2진수는 0b0001 (숫자 0과 영어 b)
  • 16진수는 0x0001(숫자 0과 영어 x)

핵심

  • 16진수를 사용하게 된 이유는 끝 없이 길어지는 2진수를 짧게 표현하기 위해서 인데 한 개의 니블이 표현 가능한 숫자의 개수가 16개이기 때문에 16진수를 사용한다

--

--

세진

누구나 쉽게 게임 개발을 공부 할 수 있으면 좋겠다는 생각으로 글을 올리는 사람입니다. 당신이 제 글을 보고 도움이 되셨다면 저에게도 큰 힘이 됩니다. 모르는 것이 있다면 댓글 남겨주세요! 최선을 다해 도와 드리겠습니다. 긴 글 읽어주셔 감사합니다.!