
1. 컴퓨터가 데이터를 표현하는 방식
컴퓨터는 2진수를 기반으로 데이터를 표현하고 연산도 진행한다.
- 2진수: 2개의 기호를 이용해서 데이터를 표현하는 방식
- 10진수: 10개의 기호를 이용해서 데이터를 표현하는 방식
- 16진수: 16개의 기호를 이용해서 데이터를 표현하는 방식
2. 데이터의 표현단위인 비트(bit)와 바이트(byte)
'비트(bit)'는 컴퓨터가 표현하는 데이터의 최소단위로서 2진수 값 하나를 저장할 수 있는 메모리의 크기를 뜻하는 단위이다.
또한 비트를 8개 묶으면 '바이트(byte)'라는 단위가 구성된다.
3. 8진수와 16진수를 이용한 데이터 표현
int num1 = 10;
int num3 = 012; //0으로 시작하면 8진수로 인식
int num2 = 0xA; //0x로 시작하면 16진수로 인식
위의 주석에서 언급하고 있듯이 0으로 시작하면 8진수, 0x로 시작하면 16진수의 표현인 것으로 약속되어 있다.
4. 정수의 표현방식
C언어는 보통 하나의 정수를 4바이트로 표현한다.

컴퓨터에 정수 1을 저장하려 할 때, 정수를 표현하는데 있어서 가장 왼쪽에 존재하는 비트는 부호를 표현하는데 사용된다.
양수라면 0, 음수라면 1을 저장하여 부호를 표시한다.
이 비트를 가리켜 MSB라고 하는데, 이는 Most Significant Bit의 약자로서 가장 중요한 비트라는 뜻을 지닌다.
반대로 음의 정수를 표현할 때는 MSB만 1로 설정해주면 되는 것이 아니라 2의 보수를 취하고 1을 더해야 한다.
정수 '1'

2의 보수 취하기

여기에 1을 더해서 '-1' 완성

5. 실수의 표현방식

위의 식에는 변수 m과 e가 존재한다.
이러한 식을 이용하면 적은 비트 수를 가지고도 보다 넓은 범위의 실수를 표현할 수 있다.
컴퓨터는 이러한 형식의 식을 미리 정의 해 놓고, 메모리에 할당된 데이터의 일부 비트는 m의 값을 정하는데, 또 일부 비트는 e의 값을 정하는데 사용하는 방식으로 실수를 표현한다.
컴퓨터가 실수를 표현하는 방식에는 오차가 존재한다.
m과 e에 적절한 값을 대입해서 0.0을 만들 수 없기 때문이다. (2의 n승은 절대로 0이 될 수 없다.)
이렇듯 컴퓨터는 우리가 표현하고자 하는 실수의 값을 정확하게 표현하는 것이 아니라, 아주 가까운, 문제가 없을 만큼의 근사치를 통해서 실수를 표현하게 된다.
따라서 실수를 표현하는데 있어서 오차가 존재하는 것은 당연한 일이며, 이러한 오차를 가리켜 '부동 소수점 오차'라 한다.
이는 컴퓨터가 소수점 이하의 수를 표현하는데 있어서 부동 소수점 방식을 사용하기 때문이다.