Numeral System
기수법Numeral System
기수법이란 수를 표현하는 방법을 의미한다. 밑수를 정하면 밑수의 개수만큼의 숫자를 사용해 수를 나타낼 수 있다.
10진수Decimal
10진수는 수를 표현하는 데 숫자를 총 열 개 사용한다. 10을 밑수로 0부터 9까지 총 열 개의 숫자로 모든 수를 표현한다
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
2진수Hexadecimal
2진수는 수를 표현하는데 0과 1만을 사용햔다.
- 0, 1
16진수Binary
16진수는 수를 표현하는데 0부터 9와 a부터 f까지 총 16가지의 숫자를 사용한다.
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f
10진수를 2진수로
10진수를 2진수로 바꾸기 위해선 다음과 같은 절차를 거친다. 예시로 25를 2진수로 표현하는 방법을 알아보자.
- 2의 거듭제곱의 합으로 쪼갠다 \(25 = 16 + 8 + 1 = 2^4 + 2^3 + 2^0\)
- $2^2, 2^1$ 처럼 중간에 빠진 지수는 0을 이용해 표현한다 \(25 = 1\times2^4 + 1\times2^3 + 0\times2^2 + 0\times2^1 + 1\times2^0\)
- 2의 거듭제곱 수를 제외하고 앞의 수 1과 0만 모아 나열한다. \(1\times2^4 + 1\times2^3 + 0\times2^2 + 0\times2^1 + 1\times2^0 = 11001\) 해당 변환은 bin()함수를 활용해 간단하게 계산 할 수 있다.
>>>bin(25) '0b11001'
bin() 함수는 정수를 2진수로 표현하는 함수이다. 결과 값 앞의 _0b는 2진수_를 의미하는 binary이다. _16진수는 0x(hexadecimal)_을 의미한다
16진수를 2진수로
16진수 한 자리는 2진수 네 자릿수까지 표현할 수 있다. 0에서 9까지의 2진수 변환은 10진수의 변환과 같으므로 a에서 f까지를 2진수로 변환하면 다음과 같다. \(\begin{matrix} a = 1010\\ b = 1011\\ c = 1100\\ d = 1101\\ e = 1110\\ f = 1111 \end{matrix}\) hex()함수를 활용하여 간단하게 16진수를 변환할 수도 있다.
>>>hex(0b00101101)
'0x2d'
Enjoy Reading This Article?
Here are some more articles you might like to read next: