八进制与十进制互相变换。
案例 - 十进制转换为八进制
#include
#include
int convertDecimalToOctal(int decimalNumber);
int main()
{
int decimalNumber;
printf("键入一个十进制数: ");
scanf("%d", &decimalNumber);
printf("十进制数 %d 变换为八进制为 %d", decimalNumber, convertDecimalToOctal(decimalNumber));
return 0;
}
int convertDecimalToOctal(int decimalNumber)
{
int octalNumber = 0, i = 1;
while (decimalNumber != 0)
{
octalNumber = (decimalNumber % 8) * i;
decimalNumber /= 8;
i *= 10;
}
return octalNumber;
}
輸出結果为:
键入一个十进制数: 78十进制数 78 变换为八进制为 116
案例 - 八进制变换为十进制
#include
#include
long long convertOctalToDecimal(int octalNumber);
int main()
{
int octalNumber;
printf("键入一个八进制数: ");
scanf("%d", &octalNumber);
printf("八进制数 %d 变换为十进制为 %lld", octalNumber, convertOctalToDecimal(octalNumber));
return 0;
}
long long convertOctalToDecimal(int octalNumber)
{
int decimalNumber = 0, i = 0;
while(octalNumber != 0)
{
decimalNumber = (octalNumber) * pow(8,i);
i;
octalNumber/=10;
}
i = 1;
return decimalNumber;
}
輸出結果为:
键入一个八进制数: 116八进制数 116 变换为十进制为 78
来源于:莫然blog,热烈欢迎共享文中!