嵌入式C中十进制转换为十六进制

时间:2012-08-16 10:30:39

标签: microcontroller

我想在嵌入式C中将十进制数转换为十六进制。

实际上在我的项目输入到控制器是十进制的,将从十六进制值中减去,所以我需要转换。

我尝试编写它但是在将数字(例如75)转换为其十六进制等效值后,它将是(411)。问题是我不知道如何将十进制的11转换为b,因为您知道十六进制中没有11,它是b;所以请帮忙。

我想将转换后的值保存在标志中(用于减去),而不是用于打印。我可以通过简单的条件来打印十六进制值:

(if (a > 10) printf("b"))

但这不是嵌入式解决方案。

所以请给我一个完整的解决方案。

1 个答案:

答案 0 :(得分:0)

我不确定你的意思,但你的整数只是“解释的类型”。在你的记忆中,它只是一堆0和1,因此你也可以用十进制,十六进制的方式表示“数据”。

如果您需要它作为寄存器的输入,您可以将其传递给它。 或者我是否想念你的问题?