스킬캠퍼스
10 · 이진수와 문자 표현
강의

오늘 끝나면

이진수와 문자 표현

  • 비트가 0 또는 1 한 자리이고 8비트가 1바이트임을 설명할 수 있음
  • 8비트 이진수를 자리값의 합으로 십진수로 바꿀 수 있음
  • 글자·명령이 약속된 비트 패턴으로 저장되고, 해석이 뜻을 정함을 말할 수 있음

실습 미션

오른쪽 인코더에서 숫자 65를 만들고, 글자 탭에서 'A'가 같은 비트(01000001)임을 직접 확인해 보셈. 그다음 'a'를 눌러 비트 한 자리만 바뀌는지도 보셈.

성공 조건

  • 01000001을 만들어 값이 65로 나오게 함
  • 글자 'A'의 ASCII 코드가 65, 'a'가 97임을 비트로 확인함
  • 비트 하나를 토글하면 값이 그 자리값만큼 바뀜을 봄

0과 1 · 자리값 · ASCII

이진수와 문자 표현

컴퓨터는 0과 1만 앎. 숫자도 글자도 명령도 전부 비트 패턴으로 번역해야 읽힘. 이진이 모든 데이터의 공통 언어임.

IBMMicrosoft
P.0110 · 이진수와 문자 표현

왜 0과 1만 쓰나 — 스위치의 두 상태

컴퓨터 속은 결국 수많은 스위치임. 켜짐 아니면 꺼짐, 딱 두 상태뿐임.

전압이 높으면 1, 낮으면 0으로 약속함. 중간을 안 쓰니 잡음에 덜 흔들리고 틀릴 일이 적음.

10단계 전압을 구분하려 애쓰는 것보다, 있다·없다 둘만 구분하는 게 훨씬 안 망가짐. 그래서 기계는 두 기호만 다룸 / 0과 1.

이 한 자리를 비트라 부름. 비트 하나는 0 또는 1 하나임. 비트 8개를 한 묶음으로 다루면 그게 1바이트임.

스위치 8개를 켜고 꺼보면 바이트가 됨
스위치 패널 · 켜짐 1 / 꺼짐 0
스위치를 눌러 켜고 꺼보셈 — 비트 8개 = 1바이트
읽어낸 1바이트
01000010

켜진 스위치 2개 · 비트 8자리 = 1바이트

P.0210 · 이진수와 문자 표현

이진수로 숫자를 표현한다 — 자리값

우리가 쓰는 십진수는 자리마다 10의 거듭제곱임. 124는 100+20+4로 쪼개짐.

이진수는 똑같은 원리인데 밑이 2임. 오른쪽부터 1, 2, 4, 8, 16, 32, 64, 128 — 자리마다 2의 거듭제곱임.

그 자리에 1이 켜져 있으면 자리값을 더하고, 0이면 건너뜀. 켜진 자리값을 다 더하면 그게 숫자임.

예로 8비트 01000001은 64+1 = 65임. 비트 8개면 0부터 255까지, 256가지 숫자를 적을 수 있음.

비트를 켜며 자리값을 더해 숫자 만들기
자리값 더하기 · 자리마다 2의 거듭제곱
자리를 눌러 켜셈 — 켜진 자리값을 다 더하면 그게 숫자
27128
2664
2532
2416
238
224
212
201
켜진 자리값의 합

64 + 1 = 65

8비트로 0부터 255까지 · 256가지

P.0310 · 이진수와 문자 표현

글자도 비트다 — ASCII라는 약속표

글자는 모양이라 그냥은 못 셈. 그래서 글자마다 번호를 미리 약속해 둠.

그 약속표가 ASCII임. 1963년 미국에서 표준으로 만듦. A는 65, B는 66, a는 97, 숫자 글자 '0'은 48임.

글자를 이 정해진 비트 패턴으로 바꾸는 일이 인코딩임. 'A'를 적으면 메모리엔 01000001로 저장됨.

대문자와 소문자는 딱 32(=100000) 차이라 비트 한 자리만 다름. 이렇게 규칙이 있어 정렬도 변환도 계산으로 처리됨.

글자를 누르면 약속된 ASCII 비트가 켜짐
ASCII 약속표 · 글자 → 번호 → 비트
글자를 골라보셈
A
ASCII 번호
65
0
1
0
0
0
0
0
1
대문자 ↔ 소문자는 32 = 비트 한 칸 차이
A65
0
1
0
0
0
0
0
1
a97
0
1
1
0
0
0
0
1

테두리 친 32 자리 하나만 다름 · 나머지 7비트는 똑같음

P.0410 · 이진수와 문자 표현

같은 비트, 약속이 뜻을 정한다 — 인코딩

비트 패턴 자체엔 뜻이 없음. 01000001은 그냥 켜짐·꺼짐의 줄일 뿐임.

숫자로 읽기로 약속하면 65, 글자로 읽기로 약속하면 'A', CPU 명령으로 읽기로 약속하면 어떤 동작임.

명령도 결국 비트임. 더해라·옮겨라 같은 연산이 정해진 비트 코드로 적혀 있어 CPU가 그걸 읽고 실행함.

그래서 같은 메모리 한 칸이 데이터도 되고 명령도 됨. 비트는 공통 언어고, 해석(약속)이 그 뜻을 정함.

같은 8비트를 숫자·글자·명령으로 바꿔 읽기
같은 8비트, 약속이 뜻을 정함
메모리 한 칸 (1바이트)01000001숫자로 읽으면6564 + 1글자로 읽으면AASCII 65명령으로 읽으면ADDCPU 동작비트는 그대로 · 약속(해석)이 뜻을 정함그래서 같은 칸이 데이터도, 명령도 됨
P.0510 · 이진수와 문자 표현

직접 이진 인코더 해보기

오른쪽 인코더에서 숫자와 글자를 직접 8비트로 바꿔볼 것.

숫자 탭에선 슬라이더를 움직이거나 비트를 직접 토글하며 자리값의 합이 값이 됨을 확인하면 됨.

글자 탭에선 글자 하나의 ASCII 비트가 뜸. 같은 8비트가 숫자로도 글자로도 동시에 읽히는 걸 눈으로 확인하셈.

외우지 말고 움직여 볼 것. 비트가 곧 모든 데이터의 공통 언어임이 손에 잡힘.

슬라이더로 숫자를 0~255 사이에서 움직이면 8비트가 켜지고 꺼짐. 비트를 직접 토글하면 값이 다시 계산됨. 글자 탭에선 글자의 ASCII 비트가 뜨고, 같은 비트가 숫자와 글자로 동시에 읽힘.
이진 인코더 · 같은 8비트, 두 해석
입력 — 슬라이더로 0~255, 또는 비트를 직접 토글
65
8비트 — 켜진 자리값의 합이 값
128
64
32
16
8
4
2
1

64 + 1 = 65

같은 8비트의 두 해석
숫자로 읽으면
65
글자로 읽으면 (ASCII)
A

비트는 그저 0/1 패턴임. 숫자로 볼지 글자로 볼지는 약속이 정함.

3줄 요약

  1. 1컴퓨터는 켜짐/꺼짐 스위치라 0과 1만 다룸. 비트 8개가 1바이트임.
  2. 2숫자는 2의 거듭제곱 자리값을 더해 이진수로 표현함.
  3. 3글자·명령도 약속된 비트 패턴임. 이진이 공통 언어고 해석이 뜻을 정함.

완료 전 점검

복습 카드

비트

0 또는 1 한 자리. 컴퓨터의 가장 작은 정보 단위

바이트

비트 8개 묶음. 0~255, 256가지를 표현함

ASCII

글자를 비트로 약속한 표. A는 65, a는 97