CS

[CS] 비트 : 컴퓨터가 이해할 수 있는 가장 작은 정보의 단위

chandlerxx 2024. 4. 10. 23:53

2024.04.09 - [CS] - [CS] 컴퓨터 구조의 이해

 

데이터

는 컴퓨터가 이해할 수 있는 정보라고 말씀 드렸는데요. 그렇다면 데이터를 어떻게 표현할 수 있는지 살펴보겠습니다.

 

 

비트(bit)

  • 컴퓨터가 이해하는 가장 작은 정보 단위
  • binary(이진수) digit 의 줄임말로써, 0과 1로만 정보를 표현할 수 있습니다.
  • n개의 비트로 2^n 가지 정보 가능
    • 예를 들어, 2개의 비트로 표현할 수 있는 정보 : 4가지( = 2^2)}
      ==> (0,0) (0,1) (1,0) (1,1)   

 

바이트(byte)

  • 8 비트를 묶은 단위 (참고)
  • 256가지(=2^8)의 정보를 표현할 수 있습니다. 

데이터의 크기(용량)는 하기 테이블 참고 바랍니다. 

구분 비고
바이트(byte) 8 비트
킬로바이트(kB) 1000 바이트
메가바이트(MB) 1000 킬로바이트
기가바이트(GB) 1000 메가바이트
테라바이트(TB) 1000 기가바이트

 

그외 관련 단위

비트보다 크고 바이트보다 작은 단위를 포함하여 중요한 단위도 참고해주세요.

  • `니블(nibble)` : 4 bit (1 바이트의 절반)
  • 옥텟(octet) : 바이트와 같은 뜻. 전기통신 분야에서는 바이트 용어대신 사용하기도 함
  • `워드(word)` : CPU가 한번에 처리할 수 있는 데이터 크기 (참고)
    ㄴ 흔히 사용하는 32비트 CPU(ARM) : 32비트 워드
    ㄴ x64 CPU : 64비트 워드 

 

 

데이터 표현방법에 대하여

모든 숫자를 0,1 만으로 커버하기엔 길이가 너무 길어져 비효율적입니다. 십진수와 십육진수가 만들어진 배경이기도 하죠.

  • `binary` : 이진수를 뜻하며 0, 1만으로 모든 숫자를 표현하는 체계
  • `decimal` : 십진수를 뜻하며 0~9, 열개의 숫자로 모든 수를 표현할 수 있는 체계
  • `hexadecimal` : 십육진수를 뜻하며 0~9, A~F 10개의 숫자와 6개의 문자로 모든 수를 표현할 수 있는 체계 

 

8이라는 숫자를 이진수, 십진수, 십육진수로 표현하면 아래와 같습니다.

구분 코드상 표기방식
binary 0b1000
decimal 8
hexadecimal 0x8

 

Binary ↔ Hexadecimal 변환하기

십육진수를 사용하는 이유는 간단합니다. 이진수에서 십육진수로 변환하기 쉽고, 반대(십육진수→이진수)로도 역시 쉽습니다.

변환할때는 하나만 기억하면 됩니다.십육진수 글자 하나를 이진수로 바꾸기 위해서 필요하려면 `4비트`가 필요하다. (2^4 = 16)

 

  • hex → binary
    • 십육진수 각 글자별로 모두 이진수로 표현한다
    • 해당 이진수를 순차적으로 나열한다.
    • 1C(hex) = 000111000(binary)

 

※ binary hex는 반대로 하면 되니, 생략하겠습니다.

 

 

알아두면 쓸모있는

  • 이진수의 음수표현 : 2의 보수
    • 2의 보수를 쉽게 구하는 방법은 '모든 0과 1을 뒤집고, 거기에 1을 더한 값' 입니다.
    • 예를 들어, 1011의 음수표현(2의보수)는 0100 + 1 = 0101 이 되는 거죠.

 

 

 

출처

교보문고 혼공컴운