c语言16进制转换为10进制数的函数是什么?

Python020

c语言16进制转换为10进制数的函数是什么?,第1张

1、可以根据16进制转10进制的算法(即各位位码值乘以位权之和)来实现该功能。

2、具体实现方法可以参考如下程序:

#include <stdio.h>

void main()

{

     int he    

     int re=0   // 保存转换为10进制的结果

     int k=16   // 16进制

     int n=1    // 位权

     scanf("%d", &he)  // 接收用户输入的16进制数,不含0x前缀

     while(he != 0)  

     {

         re += (he%10)*n  // 取出各位位码值,并乘以对应的位权值

         he /= 10   // 去掉16进制数的最低位,次低位变为最低位

         n *= k     // 位权乘以16

     }

     printf("%d",re) // 输出转换后的结果

}

二进制转换成八进制数

(1)二进制数转换成八进制数:对于整数,从低位到高位将二进制数的每三位分为一组,若不够三位时,在高位左面添0,补足三位,然后将每三位二进制数用一位八进制数替换,小数部分从小数点开始,自左向右每三位一组进行转换即可完成。例如:

将二进制数1101001转换成八进制数,则

(001 101 001)2

| | |

( 1 5 1)8

( 1101001)2=(151)8

(2)八进制数转换成二进制数:只要将每位八进制数用三位二进制数替换,即可完成转换,例如,把八进制数(643.503)8,转换成二进制数,则

(6 4 3 . 5 0 3)8

| | | | | |

(110 100 011 . 101 000 011)2

(643.503)8=(110100011.101000011)2

4、二进制与十六进制之间的转换

(1)二进制数转换成十六进制数:由于2的4次方=16,所以依照二进制与八进制的转换方法,将二进制数的每四位用一个十六进制数码来表示,整数部分以小数点为界点从右往左每四位一组转换,小数部分从小数点开始自左向右每四位一组进行转换。

(2)十六进制转换成二进制数

如将十六进制数转换成二进制数,只要将每一位十六进制数用四位相应的二进制数表示,即可完成转换。

例如:将(163.5B)16转换成二进制数,则

( 1 6 3 . 5 B )16

| | | | |

(0001 0110 0011. 0101 1011 )2

(163.5B)16=(101100011.01011011)2