1、首先,需要先明白printf()函数的输出格式控制参数:
%d:十进制有符号整数
%u:十进制无符号整数
%f:十进制浮点数
%o:八进制数
%x:十六进制数
2、再者,就是需要明白数制的定义:
二进制就是逢二进一;
八进制就是逢八进一;
十进制就不说了;
十六进制就是逢十六进一,十六进制有十六个数:1、2、3、4、5、6、7、8、9、A=10、B=11、C=12、D=13、E=14、F=15;
3、最后,就是需要了解数制的换算:
举例说明:
二进制 十进制
1000 = 1*2^3+0*2^2+0*2^1+0*2^0=8+0+ 0+0= 8
八进制 十进制
743 = 7* 8^2+4*8^1+3*8^0 = 448+32+3 = 483
十六进制 十进制
2AD = 2*16^2+10*16+13 = 512+160+13 = 685
4、下面就是利用C语言程序,来求转化:
以十六进制转化为十进制为例:
#include"stdio.h"
int N(int n) /*定义一个转化成十进制的函数*/
{
printf("其十进制:%d",n);
return(n);
}
void main()
{
int n;
printf("请输入一个十六进制数\n");
scanf("%x",&n);
N(n); /*调用函数N*/
}
你也可以试着编写一个二进制转化为十进制等等,各个进制之间都行!