原理:十进制数除以8(16)反向取余,直至商为0。
代码:
#include<stdio.h>
//十进制转八进制
int main() {
int a = 1234;
int y = 1;//位数
int x = 0;//八进制数
while (a != 0) {
x += (a % 8) * y; //计算的值是八进制得数
a /= 8; //商
y *= 10; //位置更新
}
printf("0%d\n", x);
return 0;
}
使用格式控制串“%o”、“%X”代码如下:
#include<stdio.h>
int main() {
printf("%#o %#X", 1234, 1234);//使用修饰符“#”控制前导显示
return 0;
}