C语言程序十进制的数转换成八进制的数的办法:
#include
#include
void main()
{
int n,a,sum = 0,i =0;
printf("十进制输出一个数n\n");
scanf("%d",&n);
while(n)
{
a = n%8;
n = n/8;
sum += a*pow(10,i);
i++;
}
printf("八进制输出sum:%d",sum);
}
#include
void dec2oct(int x)
{if(x>1)dec2oct(x/8);
printf("%d",x%8);
}
int main()
{int x;
scanf("%d",&x);
dec2oct(x);
return 0;
}
先10转2 再转8,16进制。8,16转2再转10进制。
比如:
八进制:63 ->二进制:110(6) 011(3) -> 十进制:32+16+2+1 = 51
十六进制:A5 ->二进制:1010(A) 0101(5) -> 十进制:128+32+4+1 = 165
十进制 19 ->二进制 1 0011 -> 八进制: (010 011) = 23
-> 十进制:(0001 0011) = 13
通过二进制之后 会简单多了,希望对你有帮助。
#include
int main()
{
int n;
printf("请输入一个十进制的数:");
scanf("%d",&n);
printf("八进制数是:");
printf("%o\n",n);
return 0;
}
#include
#include
void main()
{
int n,a,sum = 0,i =0;
printf("十进制输出一个数n\n");
scanf("%d",&n);
while(n)
{
a = n%8;
n = n/8;
sum += a*pow(10,i);
i++;
}
printf("八进制输出sum:%d",sum);
}