【问题标题】:decimal to hex conversion in CC中的十进制到十六进制转换
【发布时间】:2011-09-18 07:40:20
【问题描述】:

我需要将十进制数字转换为以 0x 为前缀的 4 位小写十六进制数字。
"%X" 已经足够好了,但这并不是我想要的。

printf("hex num is: %X\n", num);

【问题讨论】:

  • 好吧,如果不是这样,那么您“真正想要”的是什么?
  • 你能解释一下你想要什么和用格式字符串“0x%04x”打印之间的区别吗?既然您已经了解 %X,那么如何查看它的文档以查看类似的选项是否正是您想要的?

标签: c hex decimal


【解决方案1】:

我猜你需要0x%04x 或%#06x。

  • %x 表示小写十六进制。
  • 0 表示如果短于指定的位数,则用零填充。
  • 4 或 6 指定所需的宽度。
  • # 表示 0x 前缀。

【讨论】:

    【解决方案2】:

    printf("hex num is : 0x%.4x\n", num);是你想要的吗?

    【讨论】:

    • @Paul R:当然是,不知道'#'。
    【解决方案3】:

    使用printf("hex num is : 0x%x\n", num);。

    【讨论】:

      猜你喜欢
      • 2011-02-04
      • 1970-01-01
      • 2017-05-05
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-31
      相关资源
      最近更新 更多