【问题标题】:How to fputc a decimal to hex?如何将十进制转换为十六进制?
【发布时间】:2013-10-08 02:19:16
【问题描述】:

我正在尝试将小数显示为十六进制。如果我有一个小数点如 3703484078,如何使用 fputc 将其显示为十六进制 DCBEAEAE?有什么公式可以用吗?

【问题讨论】:

  • 尝试使用fprintf(myfile, "%4X", 3703484078);
  • 看看这个link可能对你有用。

标签: java c++ c hex decimal


【解决方案1】:
  1. 调用输入的数字X。

  2. 调用最初为空的字符串 S。

  3. Compute X mod 16.

  4. 使用以下映射将您从上一步得到的答案转换为字符:0->'0' 1->'1' 2->'2' 3->'3' 4-> '4' 5->'5' 6->'6' 7->'7' 8->'8', 9->'9' 10->'A' 11->'B' 12->' C' 13->'D' 14->'E' 15->'F'。

  5. 将字符串 S 替换为刚刚得到的字符,后跟字符串 S 的当前内容。

  6. 将X除以16(使用整数除法),将结果存储在X中

  7. 如果 X 不为零,请转到步骤 3。

  8. 使用fputc从左到右输出字符串S。

【讨论】:

  • 这很有帮助。谢谢!
【解决方案2】:

您必须将数字转换为十六进制文本数字字符串。

在 StackOverflow 中搜索“十六进制转换”或“十六进制打印”以了解详细信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-13
    • 2011-07-28
    • 1970-01-01
    • 1970-01-01
    • 2013-10-30
    • 1970-01-01
    相关资源
    最近更新 更多