1. 0과 1을 이용하여 정수 표현하기
- 컴퓨터는 2진법(0,1)으로만 이해할 수 있으므로, 우리가 쓰는 10진법 숫자를 컴퓨터가 이해할 수 있는 언어로 바꿔서 표현할 수 있어야 한다.
- 음의 정수는 '보수'의 개념을 이용하여 표현한다.
보수(complement) : 보충해주는 수, 일정한 값을 만들어주는 수
2. 2의 보수 이해하기
예시 : +5의 보수 구하기
0000 0101 (+5를 이진법으로 표현)
1111 1010 (+5의 보수, 더하면 0이 되지 않는다)
1111 1011 (+5의 2의 보수)
- 기존 보수에 1을 더하여 2의 보수를 만들고, 원래값과 더하면 0을 만들 수 있다.
3. 0과 1을 이용하여 실수를 표현하기
public class VariableDecl {
public static void main(String[] args) {
double num1, num2;
double result;
num1 = 1.0000001;
num2 = 2.0000001;
result = num1 + num2;
System.out.println(result);
}
}
[Console] 3.0000001999999997
- 숫자를 표현할 수 있는 메모리는 한정적이고, 큰 범위의 숫자는 오차가 발생할 수밖에 없다.
4. 고정 소수법, 부동소수법
- 고정 소수법 : 고정된 소수점으로 숫자를 표현, 좁은 범위의 숫자를 간단하게 표현할 수 있지만 큰 범위는 오차가 생긴다.
- 부동 소수법 (floating point) : 소수점의 위치를 고정하지 않고 유효숫자를 나타내는 가수(假數)와 소수점의 위치를 풀이하는 지수(指數)로 표현한다.
- IEEE 754 : IEEE에서 개발한 컴퓨터에서 부동소수점을 표현하는 가장 널리 쓰이는 표준이다.
5. 문자의 표현
- char 자료형은 2바이트의 문자를 표시한다. 작은 따옴표 사용. (String을 넣으면 오류)
- 숫자와 문자는 1:1 매칭된다.
- ASCII 코드 : 영문 알파벳을 사용하는 대표적인 문자 인코딩. 컴퓨터와 통신 장비를 비롯한 문자를 사용하는 많은 장치에서 사용되고 있으며, 대부분의 문자 인코딩이 아스키에 기초를 두고 있다. ('A' = 65, 'B' = 66 ..., 'a' = 97, 'b' = 98 ...)