8진수를 입력으로 하여 주어진 8진수를 10진수로 변환하는 작업입니다.
컴퓨터의 10진수는 10진수로 표시되고 8진수는 0에서 7까지의 8진수로 표시되는 반면 십진수는 0에서 9까지의 모든 숫자가 될 수 있습니다.
8진수를 10진수로 변환하려면 다음 단계를 따르십시오 -
- 오른쪽에서 왼쪽으로 나머지를 통해 숫자를 추출한 다음 0에서 시작하는 거듭제곱을 곱하고 (자릿수) – 1이 될 때까지 1씩 증가합니다.
- 8진법에서 2진법으로 변환해야 하므로 8진법은 밑수가 8이므로 거듭제곱의 밑은 8이 됩니다.
- 주어진 입력의 자릿수에 밑수와 거듭제곱을 곱하고 결과를 저장합니다.
- 곱한 값을 모두 더하여 십진수가 되는 최종 결과를 얻습니다.
다음은 8진수를 10진수로 변환한 그림입니다.
예시
Input-: 451 1 will be converted to a decimal number by -: 1 X 8^0 = 1 5 will be converted to a decimal number by -: 5 X 8^1 = 40 4 will be converted to a decimal number by -: 4 X 8^2 = 256 Output-: total = 0 + 40 + 256 = 10
알고리즘
Start Step 1-> declare function to convert octal to decimal int convert(int num) set int temp = num set int val = 0 set int base = 1 Set int count = temp Loop While (count) Set int digit = count % 10 Set count = count / 10 Set val += digit * base Set base = base * 8 End return val step 2-> In main() set int num = 45 Call convert(num) Stop
예시
#include <iostream> using namespace std; //convert octal to decimal int convert(int num) { int temp = num; int val = 0; int base = 1; int count = temp; while (count) { int digit = count % 10; count = count / 10; val += digit * base; base = base * 8; } return val; } int main() { int num = 45; cout <<"after conversion value is "<<convert(num); }이후입니다.
출력
위의 코드를 실행하면 다음 출력이 생성됩니다.
after conversion value is 37