我有一个需求,那就是假设有A,B,C三个整数,那么我需要把这三个数整合成X通过X我又可以把A,B,C还原出来。请问这个有没有好的算法?
解决方案 »
- std::string存储的utf-8格式xml指令如何转换成普通的string
- 急急急! 如何在客户端连接服器端成功后,如何在客户端得到它是用哪个端口连接的??
- 弱问:如何在程序获取ccombobox显示在dlg上的那个字符串?
- 怎么个意思,新版CSDN论坛我成一个白丁了?什么积分都没了,虽然我已经很久不来了吧,咨询一下老跟着混的
- 去掉edit控件的border(3d边框),怎么画出这个edit的边框(平面),还有,这个时候编辑光标总是靠顶显示文本(y方向),怎样处理成居中显示(y方向)
- 采用vfw,将avi文件转成bmp时的问题,自己录制的AVI不能转化。请高人指教。
- 没人理我,唉,着急ing
- 怎样取得摄像头的视频啊?
- win2000中打印设置?
- win98能安装,window 2000 professional装不上?
- EN_KILLFOCUS的函数执行了两次
- =-============老问题我再发一遍,你们敢帮忙解决么?==========
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;