컴퓨터는 IC 칩으로 구성되어 있다.
컴퓨터의 내부는 *IC로 구성되어 있다.
IC는 다음과 같이 검은 몸체의 양쪽에 여러 개의 다리가 붙어 있는 형태다.
위 IC 칩의 경우 양쪽의 8개의 다리가 달려있는 것이다.
이 다리를 핀(pin)이라고 하며, 각 핀은 두 가지 상태를 갖는다.
이 두 가지 상태는 전압이 있거나(보통 +5V), 전압이 없거나(0V)로 표현된다.
이런 이유로 컴퓨터는 전압이 있을 때는 1, 전압이 없을 때는 0, 즉 0과 1로만 구성되는 2진수로 데이터를 표현하게 된 것이다.
물론 컴퓨터 때문에 2진수가 고안된 것이 아니라 IC의 특성이 2진수와 잘 맞기 때문에 2진수를 쓰는 것이다.
이 때 최소 단위, 그러니까 0 또는 1을 비트(bit)라고 한다.
비트는 원래 파편이라는 뜻으로, 작은 정보 또는 정보의 파편이라는 의미를 담고 있다.
일반적으로 2진수는 8, 16, 32, 64, …의 자릿수를 가지는데,
이는 컴퓨터가 8비트 단위의 입출력을 기본으로 하기 때문이다.
이 때 8비트를 **1바이트(byte)라고 한다.
정리하면 비트는 데이터 표현의 최소 단위고, 바이트는 데이터 표현의 기본 단위라는 것이다.
따라서 저장하려는 데이터가 10011이라면 실제로는 00010011로 저장된다.
*IC(Integrated Circuit): 집적 회로. 손톱 크기에 수십억 개의 트랜지스터 등이 들어 있는 부품.
**바이트(byte): '물다'라는 뜻의 bite에서 유래.
8자리 2진수가 정보를 한 입에 물고 있다는 의미를 담고 있다.
다만 컴퓨터는 2진수로 저장된 정보가 어떤 것인지 모른다.
즉 00010011이 2진수 00010011인지, 문자열 "00010011"인지, 또는 □□□■■□□■같은 패턴인지 구별할 수 없다는 것이다.
따라서 같은 데이터를 어떻게 취급하냐에 따라 전혀 다른 결과가 나올 수 있다.
2진수
컴퓨터는 데이터를 2진수로 표현한다.
그럼 2진수란 대체 무엇일까?
기본적으로 기수법에 대한 이해가 있어야 한다.
기수법이란 수를 나타내는 방법을 말한다.
시간을 나타내는 12진법과 60진법, 일반적인 수를 나타내는 10진법이 그 예다.
즉 n진법은 기수법의 중 하나고, 여기서 n은 기수(base 또는 radix)라고 한다.
n진법은 수를 다음과 같은 방식으로 나타내는 것을 말한다.
이걸 우리에게 익숙한 10진수로 다시 보자.
173은 '백 칠십 삼', 엄밀히는 '일백 칠십 삼'이라고 읽는다. 백이 하나, 십이 일곱, 일이 셋이라는 것이다.
173을 10진법으로 풀어 쓰면 다음과 같다.
이제 2진수로 보자.
2진수 1011은 10진수로 13이다.
왜 그럴까?
마찬가지로 1011을 풀어쓰면 그 이유를 알 수 있다.
8 + 4 + 1 = 13.
따라서 2진수 1011은 10진수로 13이다.
'Programming > Basis' 카테고리의 다른 글
| 컴퓨터에서 소수를 표현하는 방법 (0) | 2019.03.05 |
|---|---|
| 비트 연산 (0) | 2019.03.04 |
| CPU가 수행하는 작업 (0) | 2019.02.27 |
| 조건 분기와 함수 호출 (0) | 2019.02.27 |
| 레지스터 (0) | 2019.02.27 |