안녕하십니까!
오류 고치다가 온 하프 입니다. 👾
이번에는 소수점 변환에 대해서 알아봅시다
소수점 변환은 헷갈리는 부분이 많으니 여러번 보셔야할 수 있습니다!
10진수
10진수 to 2진수
소수점 0.125(10)을 2진수로 변경해보겠습니다.
소수점의 경우는 변환하고자 하는 진수를 곱한 뒤 0으로 끝나면, 마치면 됩니다.
아래의 예시를 보고 갑시다 ⭐

0.125에 변환하고자 하는 진수(2)를 계속 곱하여, 올림이 없으면 0을 있으면 1을 차례차례 작성해주면 됩니다.
0.125
에서 2를 곱하게 되면0.250
, 올림이 없으니 0
0.250
에서 2를 곱하게 되면0.5
, 올림이 없으니 0
0.5
에서 2를 곱하게 되면1.0
, 올림이 있으니 1
나머지가 없으므로, 종료하게 됩니다!
순서대로 나열해주면 0.001 이 되겠네요!
10진수 to 8진수
10진수에서 8진수로 변경하는 법 또한 같은 방식으로 하면 됩니다.
0.125에서 변경하고자 하는 진수(8)을 곱하여, 위와 같은 형태로 진수를 변환 시킵니다.
0.125
에서 8을 곱하게 되면 1.0
, 올림이 있으니 1
나머지가 없으므로, 종료하게 됩니다.
순서대로 나열을 하면 0.1 이 되겠네요!

10진수 to 16진수
16진수도 8진수에서 했던것과 똑같이 하면 됩니다.
0.125
에서 16을 곱하게 되면 2.0
, 올림이 있으니 2
나머지가 없으므로, 종료하게 됩니다.
그러면 0.2가 되겠네요!

2진수
2진수 to 10진수
0.125를 2진수로 하면 0.001 이었죠!
이것을 10진수로 다시 변환하려면 어떻게 해야할까요?
변환하는법은 어렵지 않습니다.
각각의 자리수를 구하여 더하면 됩니다.
( 0 * (1/2) ) + ( 0 * (1/4)) + (1 * (1/8)) = 0.125 이렇게 결과를 구할 수 있습니다!

8진수
8진수 to 10진수
0.125는 8진수로 0.1 이었죠!
이것또한 위에서 구했던 방식과 똑같이 구하면 됩니다.
(1 * 0.125) = 0.125
어떻게 보면, 그냥 기본적인 사칙연산이라고도 볼 수 있겠지요..? 🤔

16진수
16진수 to 10진수
0.125는 16진수로 0.2 였죠!
눈썰미 있으신 분들은 금방 알아채셨을 겁니다..
8진수 to 10진수에서 그냥 서로 2씩 곱해준거라고 보면 되겠죠 🤣
알고보면 정말 별거 없습니다!

마무리
이렇게 진법 변환을 모두 해보았습니다.
이정도만 알면 진법 변환하는데에는 큰 무리는 없을것이라 생각이 듭니다.
0.125를 예시로 한것도 그냥 빨리 이해가 되고 쉬우니까 이런 숫자로 정했습니다.
만약에 0.1, 0.2, 0.3 이런숫자로 했더라면 무한소수로 나오게 되어.. 계산은 절대적으로 불가능 합니다. 🥹
어?! 그러면 0.1, 0.2가 무한 소수로 나오게 된다면 컴퓨터는 0.1, 0.2 계산은 어떻게 하는거지? 🤔
라고 생각할 수 있을겁니다!
이러한 궁금증은 다음글에서 해결을 해보도록 합시다
'CS' 카테고리의 다른 글
GIT Bash로 커밋, 푸시를 해보자! (0) | 2024.06.08 |
---|---|
0.1 + 0.2 != 0.3 ... ? (0) | 2024.05.23 |
진법 변환을 알아보자 (4) | 2024.03.24 |
자바스크립트 동작 원리 (2) | 2024.03.17 |
브라우저의 동작 과정을 알아보자! (0) | 2024.02.25 |