我想在嵌入式C中将十进制数转换为十六进制。
实际上在我的项目输入到控制器是十进制的,将从十六进制值中减去,所以我需要转换。
我尝试编写它但是在将数字(例如75
)转换为其十六进制等效值后,它将是(411
)。问题是我不知道如何将十进制的11
转换为b
,因为您知道十六进制中没有11
,它是b
;所以请帮忙。
我想将转换后的值保存在标志中(用于减去),而不是用于打印。我可以通过简单的条件来打印十六进制值:
(if (a > 10) printf("b"))
但这不是嵌入式解决方案。
所以请给我一个完整的解决方案。
答案 0 :(得分:0)
我不确定你的意思,但你的整数只是“解释的类型”。在你的记忆中,它只是一堆0和1,因此你也可以用十进制,十六进制的方式表示“数据”。
如果您需要它作为寄存器的输入,您可以将其传递给它。 或者我是否想念你的问题?