Trong ví dụ này, bạn sẽ học cách chuyển đổi số octal thành thập phân và ngược lại bằng cách tạo chức năng do người dùng xác định.
Cải thiện bài viết
Lưu bài viết
Ở đây, chúng tôi sẽ chuyển đổi Octal thành một số thập phân bằng cách sử dụng 4 cách tiếp cận khác nhau trong ngôn ngữ C:
- Sử dụng định dạng xác định Format Specifier
- Mà không sử dụng pow ()using pow()
- Sử dụng pow () pow()
- Sử dụng phương pháp tiêu chuẩnStandard method
Input:
octal number = 67
Output:
decimal number = 55
Cách tiếp cận 1: Sử dụng trình xác định định dạng
C
Enter a decimal number: 78
78 in decimal = 116 in octal
1Enter a decimal number: 78
78 in decimal = 116 in octal
2 Enter a decimal number: 78
78 in decimal = 116 in octal
3Enter a decimal number: 78
78 in decimal = 116 in octal
4Enter a decimal number: 78
78 in decimal = 116 in octal
5Enter a decimal number: 78
78 in decimal = 116 in octal
2 Enter a decimal number: 78
78 in decimal = 116 in octal
7Enter a decimal number: 78
78 in decimal = 116 in octal
5Enter a decimal number: 78
78 in decimal = 116 in octal
9#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
0#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
1#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
2Enter a decimal number: 78
78 in decimal = 116 in octal
5#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
4#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
0#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
6#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
7Enter a decimal number: 78
78 in decimal = 116 in octal
5#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
9 Enter an octal number: 116
116 in octal = 78 in decimal
0Enter an octal number: 116
116 in octal = 78 in decimal
1Output:
Đầu ra
Cách tiếp cận 2: Không sử dụng hàm pow ()
C
Enter a decimal number: 78
78 in decimal = 116 in octal
1Enter a decimal number: 78
78 in decimal = 116 in octal
2 Enter a decimal number: 78
78 in decimal = 116 in octal
3Enter a decimal number: 78
78 in decimal = 116 in octal
4Enter a decimal number: 78
78 in decimal = 116 in octal
5Enter a decimal number: 78
78 in decimal = 116 in octal
2 Enter a decimal number: 78
78 in decimal = 116 in octal
7Enter a decimal number: 78
78 in decimal = 116 in octal
5#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
9 Enter an octal number: 116
116 in octal = 78 in decimal
0Đầu ra
Cách tiếp cận 2: Không sử dụng hàm pow ()
Enter a decimal number: 78
78 in decimal = 116 in octal
2 Enter an octal number: 116
116 in octal = 78 in decimal
4Enter a decimal number: 78
78 in decimal = 116 in octal
2 Enter an octal number: 116
116 in octal = 78 in decimal
6Enter an octal number: 96
96 is not an octal number!
Enter an octal number: 25
25 in octal = 21 in decimal
0Enter an octal number: 96
96 is not an octal number!
Enter an octal number: 25
25 in octal = 21 in decimal
4Enter an octal number: 96
96 is not an octal number!
Enter an octal number: 25
25 in octal = 21 in decimal
0Enter an octal number: 96
96 is not an octal number!
Enter an octal number: 25
25 in octal = 21 in decimal
6Enter an octal number: 96
96 is not an octal number!
Enter an octal number: 25
25 in octal = 21 in decimal
0Enter an octal number: 96
96 is not an octal number!
Enter an octal number: 25
25 in octal = 21 in decimal
8Enter a decimal number: 78
78 in decimal = 116 in octal
5Enter an octal number: 116
116 in octal = 78 in decimal
1Enter a decimal number: 78
78 in decimal = 116 in octal
5Enter a decimal number: 78
78 in decimal = 116 in octal
2 #include <stdio.h>
#include <math.h>
// function prototypes
int checkOctal(int);
long long convertOctalToDecimal(int);
int main() {
int octalNumber;
int condition;
// repeat loop as long as user
// gives a non-octal number
do {
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
// check if number is octal
condition = checkOctal(octalNumber);
if (!condition) {
printf("%d is not an octal number!\n", octalNumber);
}
} while (condition == 0);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to check octal number
int checkOctal(int octalNumber) {
int remainder;
// check each digit of input number
while(octalNumber != 0) {
remainder = octalNumber % 10;
// return 0 if a digit is 8 or 9
if (remainder >= 8) {
return 0;
}
octalNumber/= 10;
}
// return 1 if number is octal
return 1;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
0Enter an octal number: 116
116 in octal = 78 in decimal
1Enter a decimal number: 78
78 in decimal = 116 in octal
2 Enter a decimal number: 78
78 in decimal = 116 in octal
3Enter a decimal number: 78
78 in decimal = 116 in octal
4Enter a decimal number: 78
78 in decimal = 116 in octal
5Enter a decimal number: 78
78 in decimal = 116 in octal
2 Enter a decimal number: 78
78 in decimal = 116 in octal
7Enter a decimal number: 78
78 in decimal = 116 in octal
5#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
4#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
0decimal number = 55
4decimal number = 55
5decimal number = 55
6decimal number = 55
7Enter an octal number: 116
116 in octal = 78 in decimal
1
Đầu ra
decimal number is 55
Cách tiếp cận 2: Không sử dụng hàm pow ()
C
decimal number = 55
9Enter a decimal number: 78
78 in decimal = 116 in octal
1Enter a decimal number: 78
78 in decimal = 116 in octal
2 Enter a decimal number: 78
78 in decimal = 116 in octal
3Enter a decimal number: 78
78 in decimal = 116 in octal
4Enter a decimal number: 78
78 in decimal = 116 in octal
5Enter a decimal number: 78
78 in decimal = 116 in octal
2 Enter a decimal number: 78
78 in decimal = 116 in octal
7Enter a decimal number: 78
78 in decimal = 116 in octal
5#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
9 Enter an octal number: 116
116 in octal = 78 in decimal
0Enter an octal number: 96
96 is not an octal number!
Enter an octal number: 25
25 in octal = 21 in decimal
0decimal number is 55
3decimal number is 55
4decimal number is 55
5decimal number is 55
6decimal number is 55
7Enter an octal number: 96
96 is not an octal number!
Enter an octal number: 25
25 in octal = 21 in decimal
0decimal number is 55
9Enter a decimal number: 78
78 in decimal = 116 in octal
5Enter an octal number: 116
116 in octal = 78 in decimal
1Đầu ra
Enter an octal number: 116
116 in octal = 78 in decimal
1Enter a decimal number: 78
78 in decimal = 116 in octal
2 Enter a decimal number: 78
78 in decimal = 116 in octal
3Enter a decimal number: 78
78 in decimal = 116 in octal
4Enter a decimal number: 78
78 in decimal = 116 in octal
5Enter a decimal number: 78
78 in decimal = 116 in octal
2 Enter a decimal number: 78
78 in decimal = 116 in octal
7Enter a decimal number: 78
78 in decimal = 116 in octal
5#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
4#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
0decimal number = 55
4decimal number = 55
5decimal number = 55
6Enter a decimal number: 78
78 in decimal = 116 in octal
18Enter a decimal number: 78
78 in decimal = 116 in octal
5#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
9 Enter an octal number: 116
116 in octal = 78 in decimal
0Enter an octal number: 116
116 in octal = 78 in decimal
1Đầu ra
decimal number is 55
Cách tiếp cận 2: Không sử dụng hàm pow ()
C
decimal number = 55
9Enter a decimal number: 78
78 in decimal = 116 in octal
1Enter a decimal number: 78
78 in decimal = 116 in octal
2 Enter a decimal number: 78
78 in decimal = 116 in octal
3Enter a decimal number: 78
78 in decimal = 116 in octal
4Enter a decimal number: 78
78 in decimal = 116 in octal
5Enter a decimal number: 78
78 in decimal = 116 in octal
2 Enter a decimal number: 78
78 in decimal = 116 in octal
7Enter a decimal number: 78
78 in decimal = 116 in octal
5#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
9 Enter an octal number: 116
116 in octal = 78 in decimal
0Đầu ra
Enter an octal number: 96
96 is not an octal number!
Enter an octal number: 25
25 in octal = 21 in decimal
0Enter a decimal number: 78
78 in decimal = 116 in octal
38Cách tiếp cận 2: Không sử dụng hàm pow ()
Enter an octal number: 96
96 is not an octal number!
Enter an octal number: 25
25 in octal = 21 in decimal
0Enter a decimal number: 78
78 in decimal = 116 in octal
44Enter a decimal number: 78
78 in decimal = 116 in octal
5Enter an octal number: 116
116 in octal = 78 in decimal
1Enter a decimal number: 78
78 in decimal = 116 in octal
5#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
4#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
0Enter a decimal number: 78
78 in decimal = 116 in octal
50Enter a decimal number: 78
78 in decimal = 116 in octal
51Enter a decimal number: 78
78 in decimal = 116 in octal
5#include <stdio.h>
#include <math.h>
// function prototype
long long convertOctalToDecimal(int octalNumber);
int main() {
int octalNumber;
printf("Enter an octal number: ");
scanf("%d", &octalNumber);
printf("%d in octal = %lld in decimal", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
// function to convert octalNumber to decimal
long long convertOctalToDecimal(int octalNumber) {
int decimalNumber = 0, i = 0;
while(octalNumber != 0) {
decimalNumber += (octalNumber%10) * pow(8,i);
++i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
9 Enter an octal number: 116
116 in octal = 78 in decimal
0Enter an octal number: 116
116 in octal = 78 in decimal
1Đầu ra
Enter a decimal number: 78
78 in decimal = 116 in octal
0
Octal sang thập phân để chuyển đổi một số octal thành số thập phân, chúng ta cần nhân mỗi chữ số của bát phân đã cho với công suất giảm 8. Chúng ta hãy tìm hiểu ở đây, việc chuyển đổi số octal thành số thập phân hoặc cơ sở 8 thành cơ sở 10.multiply each digit of the given octal with the reducing power of 8. Let us learn here, the conversion of Octal number to Decimal Number or base 8 to base 10.
Trong chuỗi thoát hiểm C được biểu thị bằng \ sau đó là ba chữ số bát phân.Lưu ý rằng một hoặc hai chữ số bát phân cũng được cho phép.Một chuỗi octal kết thúc hoặc kết thúc sau ba chữ số octal sau \ hoặc khi một chữ số sau \ không phải là một chữ số bát phân.\ followed by three octal digits. Note that one or two octal digits are also allowed. An octal sequence ends either ends after three octal digits following \ or when a digit after \ is not an octal digit.