1、首先,定义一个字符串变量char和asc,保存转换的字符和转换后的16进制数。
2、定义一个整型变量n,保存字符的ASCII码。
3、给字符char赋值,其值为字符i。
4、将字符char转换为ASCII码,并保存在n中。
5、字符的ASCII码,进一步转换为16进制数,并保存在变量asc中。
6、最后,输出字符转换为16进制数后的数值。
7、运行程序,代码中的字符i,已成功转换为16进制数。
要输出2个字节的16进制数,可以在printf中使用%02x或者%02X格式,同时将值转为unsigned char型。
一、printf为格式化输出函数,可以将变量以各种格式化方式输出。
二、格式化输出16进制的格式字符串为%x或%X。
当输出的16进制数带有字母a~f时,两种格式字符串输出结果会有区别:
1、%x格式,那么输出的是小写的a~f;
2、%X格式,那么输出的是大写的A~F.
三、要固定输出两个字节,可以使用%02x或者%02X,其中02的意思是,输出2个字节,不足补0. 不过如果实际值超过2字节,这个就会输出实际值了。
所以要绝对输出2字节,需要将数值转为unsigned char型,保证输出不会超过。
即将n以2字节16进制输出,写作:
printf("%02x",(unsigned char)n)欢迎分享,转载请注明来源:内存溢出
评论列表(0条)