例如,我有int a = 100;但是我要获得int b = 0x100;如何把a转换成b。
你这个只能是转成16进制字符串,如果是数值的话,你可以直接这样写,在内存中,不管什么进制,都是以二进制表示
可以先转换成字符串,然后通过字符串再转换成八进制数。
不太明白你的意思,是将所有的int 型的十进制转换成十六进制?还是什么?
十进制换十六进制,按照你的意思,每个位数上的数值不变,
所以也很简单,10 换16即可
100 = 1 * 10^2 + 0 * 10 ^1 + 0 * 10 ^0
0x100 = 1 * 16^2 + 0 x 16^1 + 0 * 16^0
不知道LZ的需求是什么,如果你是需要输出的话可以用
cout<<hex<<a;
如果你是希望自己写一个函数模块来实现将int a=100转为int b = 64//16进制的100推荐这篇帖子
http://bbs.csdn.net/topics/390562178?page=1
不妨看看 char *itoa( int value, char *string,int radix);
第三个参数是进制