十进制数转八进制数
核心思路与十进制转换二进制类似,源代码如下:
#include <stdio.h>
int conversion(int decimalNumber);
int main()
{
int number;
printf("请输入一个十进制数:\n");
scanf("%d",&number);
printf("十进制数%d转八进制数为%d",number,conversion(number));
return 0;
}
int conversion(int decimalNumber)
{
int octalNumber = 0,i=1;
while(decimalNumber != 0)
{
octalNumber += (decimalNumber % 8)*i;
decimalNumber /= 8;
i *= 10;
}
return octalNumber;
}
运行编译输入一个十进制数12,输出以下结果:
十进制数12转换八进制数为14
八进制数转换十进制数
核心思路与二进制转换十进制类似,源代码如下:
#include <stdio.h>
#include <math.h>
int conversion (long long octalNumber);
int main()
{
long long octalNumber;
printf("请输入一个八进制数:\n");
scanf("%lld",&octalNumber);
printf("八进制数%lld转换十进制数为%d",octalNumber,conversion(octalNumber));
return 0;
}
int conversion (long long octalNumber)
{
int decimalNumber = 0,i = 0,n;
while(octalNumber != 0)
{
n = octalNumber % 10;
octalNumber /= 10;
decimalNumber += n*pow(8,i);
++i;
}
return decimalNumber;
}
运行编译输入一个八进制数14,输出以下结果:
八进制数14转换十进制数为12