有3种方式实现其中两种是使用系统函数,另一种是直接自己编写
使用系统函数实现要加入#include <stdlib.h>,自己编写则不需要这个头文件
下面的代码就是3种方式的实现,包括2位的整数和任意整数(2的31次方以内)都可以可自己选择需要的实现方式。
char buffer [33]; //用于存放转换好的十六十进制转十六进制公式字符串可根据需要萣义长度
char buffer [33]; //用于存放转换好的十六十进制转十六进制公式字符串,可根据需要定义长度
如果参数只要两位数的整数那么很简单。代码如下:
char buffer [3]; //用于存放转换好的十六十进制转十六进制公式字符串由于只要支持2位整数,所以长度3即可
如果参数是任意整数由于计算方法是每次嘟除以16和对16取余数,余数以倒序的顺序排列就是结果所以最佳方法是用递归函数(当然循环也可以,但需要最后再进行倒序)递归代碼如下:
char buffer [33]; //用于存放转换好的十六十进制转十六进制公式字符串,可根据需要定义长度
最后测试代码如下(以sprintf为例其余只要替换inttohex函数中的玳码内容即可):
char buffer [33]; //用于存放转换好的十六十进制转十六进制公式字符串,可根据需要定义长度