c++中 int十进制数如何转int 16进制数

例如,我有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);
第三个参数是进制