Machineboy空

컴퓨터가 이해하는 데이터① - 숫자 표기 : 2진법(binary), 16진법(hexadecimal) 본문

Computer/CS

컴퓨터가 이해하는 데이터① - 숫자 표기 : 2진법(binary), 16진법(hexadecimal)

안녕도라 2024. 1. 2. 14:35

정보의 단위

 

1. 비트(bit)

컴퓨터가 이해하는 기본적 가장 작은 정보 단위 : 0,1

  • 0 = 전기 신호가 약하다.
  • 1 = 전기 신호가 강하다.

프로그램은 수많은 비트(bit)로 이루어져 있다.

  • n비트로 2n^가지의 정보를 표현할 수 있다.
  • bit < byte < killobyte < megabyte < gigabyte < terabyte
1byte 8bit
1kB 1000byte
1MB 1000kB
1GB 1000MB
1TB 1000GB

이전에는 정보의 크기가 작았으므로 혼용해서 사용했으나, 최근엔 엄밀하게 나눠서 사용

 

 2. 워드(word)

 

CPU가 한 번에 처리할 수 있는 정보의 크기 단위

예) CPU가 한 번에 32bit씩 처리할 수 있다면 1word = 32bit

하프 워드 (half word) word/2
풀 워드(full word) word 크기
더블 워드(double word) word*2

 

 

0과 1로 숫자 표현하기

 

 1. 이진법 (binary)

 

컴퓨터는 2진수를 이해한다!

  • 2진법 표현하기
    • 100(2)
    • 0b100
  • 2진법으로 음수 표현하기: 2의 보수
    • 방법 1: 어떤 수를 그보다 큰 2n^에서 뺀 값 
    • 방법 2: 모든 0과 1을 뒤집고 1 더한 값
     

 

서로 보수 관계인지 알아 보기 위해 두 번 계산해 보면 자기 자신이 된다.

ex) 2 >> -2 >> 2

 

  • 숫자는 플래그(Flag)를 가지고  다닌다!

숫자의 플래그 (양수, 음수)를 가지고  다니며 CPU의 플래그 레지스터가 판단(?)

 

 2. 16진법 (Hexadecimal)

 

이진법으로는 숫자의 길이가 너무 길어지기 대문에 컴퓨터의 데이터를 표현할 때 16진법도 많이 사용

  • 16진법 표기
    • 15(16)
    • ox15

 

 Tip. 2진법(binary) - 16진법 (Hexadecimal) 변환