oYangZi12
2016-04-06 04:35
采纳率: 0%
浏览 4.4k

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • bdmh 2016-04-06 04:40

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

    点赞 打赏 评论
  • 小灸舞 2016-04-06 04:43

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

    点赞 打赏 评论
  • beifengche 2016-04-06 04:54

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

    点赞 打赏 评论
  • qq_24388343 2016-04-06 05:26

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

    点赞 打赏 评论
  • FineClass 2016-04-06 12:23

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

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

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

    点赞 打赏 评论
  • Mikasa_fight 2016-04-07 10:24

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

     cout<<hex<<a;
    

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

    点赞 打赏 评论

相关推荐 更多相似问题