본문 바로가기
Computer Science

[Programming] 십진법의 소수점자리를 삼진법 소수점으로 변환하기

by Henry Cho 2020. 9. 17.
728x90

십진법에서 삼진법으로 변환하려는데 소수점은 어떻게 처리해야 할지 이해가 잘 안 가요.

 

십진법이라고 불리는 Decimal를 다른 진법으로 변환하는 거에 대해서는 알지만 소수점을 변환하는 건 잊어버렸거나 헷갈릴 수가 있다.

오래전에 배운 수학을 저 멀리 구석에 뇌 어딘가에 먼지가 쌓인 채 박혀있는 기억을 가져오려니 뇌가 아플 따름이다.

포스트를 보다 보면 기억이 날 테니 한번 같이 예제를 통해 살펴보도록 하자.

예를 들어, 십진법을 삼진법으로 변환한다고 가정해보자.

(0.12)_10 = (._)_3 ?

(_10은 진법을 의미한다고 가정하자.)

0.12*3 = 0.36 -> 0

0.36*3 = 1.08 -> 1

0.08*3 = 0.24 -> 0

0.24*3 = 0.72 -> 0

0.72*3 = 2.16 -> 0

0.16 ......

=0.0100......

이런 식으로 계산을 할 수 있다.

한마디로 십진법에서 삼진법으로 변환하기 때문에 소수점 자리에 3을 곱해준다.

3을 곱했을 때 1의 자리 숫자에 숫자가 있으면 해당 삼진법 소수점 자리 수를 채워준다.

하지만 1의 자리에 숫자가 없고 소숫점 자리에만 있다면, 해당 삼진법 소숫점 자리 숫자는 0이 되고 다음 자리로 넘어가게 된다.

728x90

댓글