知识点: 常用的四种int数据类型
%d 十进制格式符
%0x 十六进制
%o 八进制
注意: 八进制的 %o 中的 o 是字母o
十六进制 的 %0x 中的 0 是数字0
不管是16进制还是8进制或者10进制,这串数字在计算机内存里的存储形式都是一串2进制数,这是经过计算机自动转换的,所以我们可以对不同进制的数直接进行数学运算。
例如下面的16进制和8进制相加输出一个10进制数:
#include<stdio.h>
int main()
{
int a,b,c=0;
scanf("%x %o",&a,&b);
printf("%d",a+b);
return 0;
}
下面我们用代码来实现10进制转N进制输出(以10进制转16进制为例):
#include<stdio.h>
int main()
{
int a, b[1000],c=0,d;
scanf("%d",&a);
printf("%0x\n",a);
while(a>0){
b[c++]=a%16; // 如果是转8进制 就对8取余
a=a/16; //同时 此处变为a=a/8;
}
for(d=c-1;d>=0;d--)
printf("%d",b[d]); // 倒序输出余数。
return 0;
}