8진수

8진수

쉬움

지침

문자열로 표현된 8진수(예: '1735263')를 기본 원리만 이용해 10진수로 변환해요. 즉, 내장 라이브러리나 외부 라이브러리를 사용해서 변환하면 안 돼요.

8진수에서 10진수로의 변환을 구현해요. 8진수 입력 문자열이 주어지면, 프로그램은 10진수 출력을 내놓아야 해요.

참고

  • 변환은 직접 구현해요. 변환을 대신 해 주는 다른 무언가를 사용하지 마세요.
  • 잘못된 입력은 8진수 0으로 취급해요.

8진수(8진법) 알아보기

10진수는 밑이 10인 체계예요.

10진법 표기에서 233이라는 수는 10의 거듭제곱의 선형 결합으로 이해할 수 있어요:

  • 가장 오른쪽 자릿수에는 10^0 = 1을 곱해요
  • 그다음 자릿수에는 10^1 = 10을 곱해요
  • ...
  • n번째 수에는 10^*(n-1)*을 곱해요.
  • 이렇게 나온 값들을 모두 더해요.

따라서:

   233 # decimal
 = 2*10^2 + 3*10^1 + 3*10^0
 = 2*100  + 3*10   + 3*1

8진수도 비슷하지만, 10의 거듭제곱 대신 8의 거듭제곱을 사용해요.

따라서:

   233 # octal
 = 2*8^2 + 3*8^1 + 3*8^0
 = 2*64  + 3*8   + 3*1
 = 128   + 24    + 3
 = 155
GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Java Exercism

8진수 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 Java 트랙을 개념 26개연습 문제 158개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.