代码如下
……
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这个字符串的方法。应该怎么做呢?有没有直接的函数用?
……
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这个字符串的方法。应该怎么做呢?有没有直接的函数用?
解决方案 »
- 窗口运行时弹出C++BUG,提示wincore.cpp line:723ASSERT(hWnd == m_hWnd); // should have been
- 在线等待,100分求解如何根据进程的ID获取进程映象名称?
- 程序退出时,执行特定的操作
- 有个函数不懂
- 在访问我自己网站时,要过很长时间才提示找到网站,域名解析速度好慢啊?
- 夜风微凉兄,请进!
- vc写dll,构造类 同时实现一些方法,这些类可以在vb里面调用吗?
- 请教:CPropertySheet用什么函数响应属性页的选择点击消息
- CEdit的简单问题
- 一个算法问题,计算一个角度参数的平均值,参数的范围是0-360度,360度也就是0度,参数在360度附近时,计算平均值遇到问题
- 应用DLL做开发库的程序连接问题。
- 如何用低级音频api播放wav文件 ?
BYTE decNum = -26; //注意,是8位的BYTE,而非32位的int
char hexStr[10];
itoa(decNum, hexStr, 16);
此时hexStr将是"E6"。
char hexStr[10]={NULL};//16进制字符串
hexStr=itoa((unsigned char)decNum,hexStr,16);//将-26转换为16进制的字符串