na_liliwa
2021-07-22 18:30
采纳率: 100%
浏览 158

C语言如何实现十六进制0x123转为十进制123?

C语言如何实现十六进制0x123转为十进制123?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 已采纳

    是不是这样

    #include <stdio.h>
    
    void main()
    {
        int n = 0x123;
        printf("%x",n);
    
    }
    

    或者用循环转换

    #include <stdio.h>
    
    void main()
    {
        int n = 0x123;
        int m = 0, z = 1;
        while (n>0)
        {
            m += n % 16 * z;
            z *= 10;
            n /= 16;
        }
        printf("%d",m);
    
    }
    

    结果 是十进制的123

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 16进制0x123转换为10进制是291,要10进制也是123吗?

    评论
    解决 无用
    打赏 举报
  • CSDN专家-link 2021-07-22 19:10

    你是有个字符串char ch[] = "0x123",然后要转换成整数123?
    如果不是字符串,就没有前面有0x之说,0x只是显示效果,表示这个整数是16进制的123,内存存储还是10进制的数据
    你把你有什么,要得到什么说清楚

    评论
    解决 无用
    打赏 举报
  • 奋斗的小小鱼 2021-07-22 18:32

    十六进制0x123 转换为十进制是291 ,不会是123的。。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题