代码如下
……
int decNum=-26;//十进制负整数
char hexStr[10]={NULL};//16进制字符串
hexStr=itoa(decNum,hexStr,16);//将-26转换为16进制的字符串
……
运行后发现hexStr="FFFFFFE6"。如果将decNum变成26,将得到hexStr="1A"。
问题是怎样把hexStr的表示方式统一一下,也就是,hexStr不管是正数还是负数,都能表示成两位的方式,即decNum=-26时,hexStr="E6",而不是"FFFFFFE6"。最好不要采用处理hexStr这个字符串的方法。应该怎么做呢?有没有直接的函数用?