단순하게 10진수를 8로 나누면 8진수로 진법 변환됩니다.
이 또한 정수부와 소수부가 있는 경우, 따로 연산해주면 됩니다.
정수는 8로 나누고, 소수부는 8로 곱셈합니다.
47.75
를 8진수로 변환 해보겠습니다.
✅ 정수부 47/8
✅ 소수부 0.75x8
0.75 x 8 = 6.00 ( 정수부분 6를 가져가고, 소수부가 0이므로 연산 종료 )
가져간 6를, 47을 8진수로 변환 한 57(8)에 소수부로 붙여주면 됩니다.
즉 10진수 47.75
는 8진수 57.6
가 됩니다.
이번에는 반대로 8진수를 10진수로 변환 해보겠습니다.
위 예시에서 진법 변환된 57.6(8)
을 다시 10진수로 변환 해볼게요.
✅ 정수부 57
공식 : 변하고자 하는 수 x 8^(자리 수-1)
1) 7 x 8^0 (7 x 1) = 7
2) 5 x 8^1 (5 x 8) = 40
3) 모든 자리수를 덧셈, 7+40 = 47
✅ 소수부 .6
공식 : 변하고자 하는 수 / 8^(-자리 수)
1) 6 / 8^-1 ( 6 / 8 ) = 0.75
2) 정수부와 소수부 덧셈, 47+0.75 = 47.75(10)
기존의 10진수 47.75(10)와 동일 해졌네요.
8진법 또한 2진법처럼 무한 소수가 발생하면, 적당한 소수점 위치에서 반올림하면 됩니다.