如何用c语言将一个数转换成16进制后放入数组

如何用c语言将一个数转换成16进制后放入数组如何用c语言将一个数转换成16进制后放入数组指定位置大致流程:
1.输入一个数a(小数/整数)。
2.a=a*100。
3.将a转换成16进制。(例:0xA13/0x13)
4.将a的格式转换成0x##,0x##的格式。(例:0x0A,0x13/0x00,0x13)
5.放入数组指定位置。(例:b[5]={0x00,0x00,0x0A,0x13,0x00}/{0x00,0x00,0x00,0x13,0x00})
问题补充:那个数组类型是unsigned char,数组内的数据是用来写入到m1卡内的,所以要用16进制

数只要存进变量中,那都是二进制的,只不过你打印出来的时候才区分哪种进制然后转化。比如说,a = 16;和a = 0x10;没有区别,所以不需要转换,因为电脑都会自动转化成二进制a=0b 10000;在用的时候直接就可以用;但如果是小数的话就需要转化成整数了,比如将a==16.1存进b ,结果是b= 0x10;
那就直接写b = (int)a;就行
温馨提示:答案为网友推荐,仅供参考
相似回答