1-4. 8진수와 16진수
디지털 공학에서 가장 중요한 수의 체계는 2진수(binary) 8진수(octal) 10진수(decimal) 16진수(hexadecimal)이다.
2진수의 길게 나열된 수를, 8진수와 16진수에서는 훨씬 짧고 간단하게 인식하고 알아볼 수 있기 때문이다.
또한 서로 2진수로의 변환이 아주 용이하다는 장점도 가지고 있다.
(우리는 일반적으로 10진수로 변환했다가 다시 r'의 진수로 변환시키지만, 이 셋은 그것보다 간편히 할 수 있다.)
Octal ↔ Binary ↔ Hexadecimal
8진수의 각 digit은 3개의 binary digits으로 표현할 수 있고 16진수의 각 digit은 4개의 binary digits으로 표현할 수 있다.
우리는 위의 기수변환 표를 전부 외우는 방법도 있겠지만 (불가능) 정말 간단한 방법 하나로 저 표를 만들어낼 수 있다.
방법을 먼저 말로 설명하자면, 소수점의 자리를 기준으로 멀어지는 방향으로 써 내려가는데, 이 때 각 변환하고자 하는 자리의 계수를 바꾸기 원하는 base number에서 필요한 digits의 자릿수만큼 변환해서 쓰는 것이다.
(나도 솔직히 이거 말로 들으면 뭔소린지 모른다.)
빠르게 경우별 예시로 들어가겠다.
① binary to octal (2진수에서 8진수로 변환)
예를 들어 (10110001101011.111100000110)2 라는 binary number가 있다고 해보자. 이 때 우리는 octa number로 변환 할 것인데, 이 때 octa number의 각 digit은 binary number의 3자리 digit으로 표현 가능하다.
따라서 각 자리를 모두 3자리 단위로 찢어 8진수의 하나의 digit으로 바꿀것이다.
각 자리의 수를 모두 3자리 단위로 나누어 놓고, 그 수를 0~7까지의 수로 계산한다. (8진법이기 때문)
이 수를 소수점 자리를 기준으로 멀어지는 방향으로 쭉 나열하게 된다면. 바로 8진수로의 표현이 결과로 나온다.
이러한 원리가 계속해서 다른 경우에도 적용된다.
② octal to binary (8진수에서 2진수)
역으로 8진수에서 2진수로 바꾸어 줄 때는 앞서 8진수에서 2진수로 바꾸어준 순서 반대로 적용하면 된다.
예를들어 (673.124)8 이라는 octa number를 binary number로 바꾸는 경우를 생각해보자.
8진수는 2진수에서 3개의 digit으로 표현되므로, 각 자리의 수를 3자리 기준으로 바꾸어준다.
이 때 각 수가 3가지 자리까지 필요 없이 표현된다고 해서 앞자리의 0을 없애버리면 안된다. (기준은 3자리)
예를 들어 3이라는 digit이 11이라는 2진법 digit으로 표현된다고 해서 11이라고 표기하는것이 아닌 011이라고 표기해야 한다.
여기까지 이해가 됐다면 다른 경우들은 껌이다.
③ binary to hexadecimal (2진수에서 16진수)
자 이젠 (10110001101011.11110010)2라는 2진수를 16진수로 바꿔보자. 8진수 때와는 다르게 16진수는 2진수에서 4개의 digits으로 표현되기 때문에 이번엔 4자리씩 수를 찢어준다.
나머지는 앞의 과정과 똑같다. 소수점 기준에서 멀어지는 방향으로 각 수를 16진수의 digit으로 표현하고 그 수를 나열하면 16진수로의 표현이 완성된다.
④ hexadecimal to binary (16진수에서 2진수)
마지막으로 16진수에서 2진수로의 변환이다. 예를 들어 (306.D)16이라는 16진수를 2진수의 표현법으로 바꾸어 보겠다.
16진수는 2진수에서 4가지의 digits으로 표현할 수 있으므로 하나의 16진수 digit을 4자리 binary digit으로 변환한다.
변환된 자리마다 각 소수점 기준으로 해서 나열해주면 2진수로의 표현까지 끝!
'디지털공학 > Chap 1.' 카테고리의 다른 글
Chap 1. 디지털 시스템과 2진수 (4) . Digital Systems and Binary Numbers (0) | 2022.01.07 |
---|---|
Chap 1. 디지털 시스템과 2진수 (3) . Digital Systems and Binary Numbers (0) | 2022.01.07 |
Chap 1. 디지털 시스템과 2진수 (1) . Digital Systems and Binary Numbers (0) | 2022.01.06 |