要非用的16进制的话可以把10进制转换成16进制,
思路试这样的
采用表驱动法
定义unsigned char a[16]={1,2,3,4……,'A','B','C','D','E','F'},b[16];
假设是十进制数n,
unsigned int i;
for(i=0;n;n%=16;)b[i]=a[n%16];
然后逆序输出b即可
此时的16进制是个数组,可以把它转换成数,学单片机了,这个肯定会吧,还有,就是写一下思路,可能有边界问题
反正还是觉得没必要进行数制转换,反正换来换去都一样,变量的存贮内容都是一样的,只是表达形式不同而已
是什么意思?有必要吗?十进制不可以?
无论是十六进制还是十进制,传输的时候都是以二进制数的形式传输的,所有用10进制也可以,
你要非用的16进制的话可以把10进制转换成16进制,
思路试这样的
采用表驱动法
定义unsigned char a[16]={1,2,3,4……,'A','B','C','D','E','F'},b[16];
假设是十进制数n,
unsigned int i;
for(i=0;n;n%=16;)b[i]=a[n%16];
然后逆序输出b即可
此时的16进制是个数组,你可以把它转换成数,你都学单片机了,这个肯定会吧,还有,我就是写一下思路,可能有边界问题,你自己看看吧
反正我还是觉得没必要进行数制转换,反正换来换去都一样,变量的存贮内容都是一样的,只是表达形式不同而已
不知道啥意思 printf打印输出的话可以用%x格式化输出