CString str; str.Format(_T("%d%d%d"),A,B,C); int nGet = atoi(str);---------- str.Format(_T("%d"),nGet); int A = atoi(str.Mid(0,1)); int B = atoi(str.Mid(1,1)); int C = atoi(str.Mid(2,1));
unsigned char a = 10; unsigned char b = 5; unsigned char c = 16;unsigned long x = a<<16 + b<<8 + c;--------------------------unsigned char a = x>>16; unsigned char b = (x>>8)&0xff; unsigned char c = x&0xff;
str.Format(_T("%d%d%d"),A,B,C);
int nGet = atoi(str);----------
str.Format(_T("%d"),nGet);
int A = atoi(str.Mid(0,1));
int B = atoi(str.Mid(1,1));
int C = atoi(str.Mid(2,1));
比如
A=10
B=21
C=32那么要把这三个数转换成一个数X,而从X又能将A,B,C给还原回来。
例如A=10,B=5,C=106,则转换后为
001005000106,这样的话,我就可以首先判断前面2个0,解析出10,再判断一个0,解析出5,最后判断3个0,解析出106.不知道还有没有更好的办法,当然是越短越好
unsigned char b = 5;
unsigned char c = 16;unsigned long x = a<<16 + b<<8 + c;--------------------------unsigned char a = x>>16;
unsigned char b = (x>>8)&0xff;
unsigned char c = x&0xff;