2 oyangzi12 oYangZi12 于 2016.04.06 12:35 提问

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

例如,我有int a = 100;但是我要获得int b = 0x100;如何把a转换成b。

7个回答

bdmh
bdmh   Ds   Rxr 2016.04.06 12:40

你这个只能是转成16进制字符串,如果是数值的话,你可以直接这样写,在内存中,不管什么进制,都是以二进制表示

CSDNXIAON
CSDNXIAON   2016.04.06 12:41

int转6位16进制数。
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

qq423399099
qq423399099   Ds   Rxr 2016.04.06 12:43

不妨看看 char *itoa( int value, char *string,int radix);
第三个参数是进制

beifengche
beifengche   2016.04.06 12:54

可以先转换成字符串,然后通过字符串再转换成八进制数。

sunnylinner
sunnylinner 好奇,求大神详细点
一年多之前 回复
qq_24388343
qq_24388343   2016.04.06 13:26

不太明白你的意思,是将所有的int 型的十进制转换成十六进制?还是什么?

fu851523125
fu851523125   2016.04.06 20:23

十进制换十六进制,按照你的意思,每个位数上的数值不变,
所以也很简单,10 换16即可

100 = 1 * 10^2 + 0 * 10 ^1 + 0 * 10 ^0

0x100 = 1 * 16^2 + 0 x 16^1 + 0 * 16^0

HOLY3KILL
HOLY3KILL   2016.04.07 18:24

不知道LZ的需求是什么,如果你是需要输出的话可以用

 cout<<hex<<a;

如果你是希望自己写一个函数模块来实现将int a=100转为int b = 64//16进制的100推荐这篇帖子
http://bbs.csdn.net/topics/390562178?page=1

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!