用C语言程序,解决数制之间的转化,超简单,告别进制的问题!

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*/

}

你也可以试着编写一个二进制转化为十进制等等,各个进制之间都行!

猜你喜欢

转载自blog.csdn.net/qq_42342113/article/details/82773893