컴퓨터는 정보의 최소단위인 비트를 사용하기 위해 이진법인 0,1로 정보를 저장한다.
컴퓨터와 다르게 사람들은 0~9까지의 수를 조합하여 많이 사용한다.
이러한 수를 '십진수'라고 하며 이진수와 십진수는 서로 바꿔서 표현이 가능하다.
10진수 : Decimal, 흔히 일반적으로 사용하는 수다.
- '567' 같은 수를 10진수라 한다.
- 0~9의 값으로 수를 표현한다
- 각 자리마다 10의 거듭제곱으로 자리수를 표현하며 가장 오른쪽부터 10의 0제곱 부터 왼쪽을 자리값이 올라간다. 567은 5*10의2제곱 + 6*10의1제곱 + 7*10의 0제곱 으로 표현한다.
2진수 : Binary, 0과 1을 사용하는 수로 0은 전기신호의 Off, 1은 전기신호 ON을 의미한다.
- 각 자리수마다 2의 거듭제곱으로 나타내며 1-2-4-8-16- ... 이런 식으로 자리값이 증가하게 된다.
- 2진수로 7을 표현하려면 111로 표현할 수 있다.
- 2진수로 쓰여진 수는 (2)를 붙여서 표기한다. 101(2)
10진법을 2진법으로 바꾸는 방법
- 10진법을 2진법 으로 바꾸려면 바꾸려는 수/2로 몫이 1이 될 때 까지 나눈후 나머지를 역순으로 읽으면 된다.
- 11의 십진수를 2진법으로 바꾸려 2로 나누면 아래와 같이 나눠진다.

이 상태에서 남은 1의 몫부터 나머지를 역순으로 읽으면 된다. 그러므로 11을 2진법으로 바꾸면 1011이 된다.
2진법을 10진법으로 바꾸는 방법
- 2진법은 각 자리수가 오를때마다 해당 값이 2배로 커진다.
- 가장 오른쪽부터 왼쪽으로 자리값을 표현하자면 1-2-4-8-16-... 이런식으로 값이 증가한다.
- 앞에서 변환한 1011을 다시 십진수로 바꾸려면 0이 아닌 1의 값이 써있는 곳의 자리값을 전부 더하면 십진법으로 변환할 수 있다.
- 1011에서 1인 자리값은 8,2,1 이므로 이 값들을 전부 더하면 11이 된다.
'CS > edwith: CS50강좌 공부' 카테고리의 다른 글
6. 16진수 (0) | 2019.09.01 |
---|---|
5. ASCII 코드 (0) | 2019.09.01 |
3. 비트와 바이트 (0) | 2019.09.01 |
2. 기억장치 (0) | 2019.09.01 |
1. 하드웨어 (0) | 2019.09.01 |