0, 1로 숫자와 문자를 표현하는 방법

JEREGIM·2023년 4월 4일
0

📌0, 1로 숫자를 표현하는 방법

컴퓨터는 0, 1밖에 이해할 수 없다. 그렇다면 3+4를 컴퓨터는 어떻게 이해할까 ? 이에 대해 알아보고자 한다.

정보단위

비트(bit)

: 0과 1을 표현하는 가장 작은 정보 단위
2비트로 총 4가지의 정보를 표현할 수 있다.

00
01
10
11
  • n비트로 2n2^n가지의 정보를 표현할 수 있다.

  • 프로그램은 수많은 비트로 이루어져 있다. 다만, 표현할 때는 비트보다 더 큰 단위를 사용한다.

1바이트(1byte)8비트(8bit)
1킬로바이트(1kB)1,000바이트(1,000byte)
1메가바이트(1MB)1,000킬로바이트(1,000kB)
1기가바이트(1GB)1,000메가바이트(1,000MB)
1테라바이트(1TB)1,000기가바이트(1,000GB)
  • 1024개씩 묶은 단위는 kiB, MiB ... 로 따로 있다. 과거에는 1024개씩 묶는 단위와 1000개씩 묶는 단위를 혼용해서 사용했지만 점차 다루는 데이터의 크기가 커지면서 24개씩의 오차가 점차 스노우볼이 굴러서 큰 오차가 되면서 문제를 발생시키게 된다.
    따라서 현재에는 두 개의 단위를 혼용해서 사용하지 않는다.

워드(word)

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

  • 하프 워드(half word) : 워드의 절반 크기

  • 풀 워드(full word) : 워드 크기

  • 더블 워드(double word) : 워드의 두 배 크기

이진법

0과 1로 숫자를 표현하는 방법

이진수 표기법

0과 1로 음수 표현

2의 보수법 이용
1. 모든 0과 1을 뒤집는다.
2. 1을 더한다.

1101
0010
0011 -> 2의 보수

1101의 음수를 표현한 0011과 십진수 3을 표현한 0011을 어떻게 구분할까 ?
-> 컴퓨터는 cpu 내부의 플래그 레지스터 라는 것으로 둘을 구분한다.

16진법

  • 이진법으로는 숫자의 길이가 너무 길어지기 때문에 16진법도 많이 사용한다.
10진수01234567891011121314151617...
16진수0123456789ABCDEF1011...

  • 16진법이 헷갈릴때 사용해보면 좋다.

16진수 표기법

이진수 <-> 16진수

두 진수를 변환하는 방법이 십진수로 변환하는 방법보다 훨씬 간단하다.

방법 : 이진수를 4자리씩 끊어서 16진수로 변환

0001101000101011
0001 / 1010 / 0010 / 1011
-> 1 / A / 2 / B
->1A2B

반대로 16진수는 1개씩 끊어서 2진수로 변환시키면 된다.

5D
5 -> 0101
D -> 1101
->01011101

📌0, 1로 문자를 표현하는 방법

0개의 댓글