[컴퓨터 구조] 0과 1로 숫자를 표현하는 방법

2023. 3. 8. 00:33기술 창고/CS 지식

728x90
SMALL

컴퓨터는 기본적으로 0과 1의 정보로밖에 이해할 수 없다.

 

정보 단위

  • 비트(bit) : 0과 1을 표현하는 가장 작은 정보 단위
  • 프로그램은 수많은 비트로 이루어져 있다.
  • n비트로 2^n 가지의 정보를 표현 가능하다.
  • 비트보다 더 큰 단위를 사용한다.

  • 워드(word) : CPU가 한 번에 처리할 수 있는 정보의 크기 단위 (32bit)
  • 하프 워드 : 워드의 절반 크기
  • 풀 워드 : 워드 크기
  • 더블 워드 : 워드의 두 배 크기

 

이진법

  • 0과 1로 숫자 표현하는 방법
  • 숫자가 1을 넘어가는 시점에 자리올림.
  • 예) 10101
    • 1 -> 첫 번째 자리 수 1표시(2의 0승) : 1
    • 0 -> 두 번째 자리수 0 표시(2의 1승) : 0으로 표시되었으므로 0
    • 1 -> 세 번째 자리수 1 표시(2의 2승) : 4
    • 0 -> 네 번째 자리수 0 표시(2의 3승) : 0으로 표시되었으므로 0
    • 1 -> 다섯 번쨰 자리 수 1 표시(2의 4승) : 16
    • 다 더하면 십진수 21의 결과가 나온다.
  • 우리가 일상적으로 사용하는 진법은 숫자가 9를 넘어갈 때 자리올림하는 10진법을 사용.

  • 0과 1로 음수 표현하기 : 2의 보수

[정의된 공식]

 

 

[조금 더 쉬운 공식]

  • 조금 더 쉬운 공식을 증명 -> 두 번 적용하여 원래의 양수값으로 나오는지 확인

 

 

# 의문점!

예) 5를 표현한 양수 0101과 음수로나온 0101은 같아보이는데 어떻게 판단하고 구분하는가?

ㄴ 레지스터에 플래그라고 하는 구분값을 가지고 판단한다.

- 플래그 : CPU 내부에 존재하는 플래그 레지스터에 표시되는 구분 값

 

 

 

16진법

  • 이진법으로는 숫자의 길이가 너무 길어지기 때문에 나온 표현 방법.
  • 컴퓨터의 데이터를 표현할 때 16진법을 많이 사용
  • 수가 15를 넘어가는 시점에 자리올림.

 

# 16진수를 사용하는 대표적인 이유 : 2진수를 16진수로, 16진수를 2진수로 변환하기 용이하기 때문이다.

 

16진수를 2진수로 표현할 때 사용되는 비트는 4bit. (2의 4승)

 

 

[16진수 -> 2진수]

16진수를 2진수 네개로 표현한 후 붙이면 2진수로 변환 완료

 

[2진수 -> 16진수]

2진수 네개 단위로 끊어서 각각 16진수로 변환한뒤 붙이면 16진수로 변환 완료

728x90
반응형
LIST