首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

16进制的有关问题

2012-02-28 
16进制的问题RowNum是一个4位的10进制数,我想把它以16进制的方式储存在一个 array里面C/C++ codechar Comm

16进制的问题
RowNum是一个4位的10进制数,我想把它以16进制的方式储存在一个 array里面

C/C++ code
char Command[4];sscanf(RowNum,"%2x%2x",&Command[0],&Command[1]);//会提示说无法把int转换成charCommand[0]=RowNum&0x0C;Command[1]=RowNum&0x03;如果这样 Command[1]的数值时正确的,Command[0]的数值却不对。还有什么更好的方法吗 还请各位大神指点 谢谢


[解决办法]
计算机里都是2进制
你不用自己去做转换
想干什么直接招呼就好了
[解决办法]
不要&?
[解决办法]
sscanf的函数原型是Int sscanf( const char *, const char *, ...);
也就是说第一个参数必须是char*,不能是int
还有就是没必要转换成16进制存储,因为计算机本来就是按照二进制存的,等到输出时再按16进制输出就好了
[解决办法]
不好意识,没有看太明白LZ的意思
如果是把这个4位的10进制数,分高2位和低2位分别存储到两个字符数组的话可以:
C/C++ code
#include <stdio.h>int main(){    int RowNum = 0xAABB;    char Command[2][3];    sprintf(Command[0], "%X", RowNum >> 8);    sprintf(Command[1], "%X", RowNum & 0xFF);    printf("%s %s", Command[0], Command[1]);        return 0;}
[解决办法]
移位……

热点排行