在mikroc中从int转换为二进制或十六进制

时间:2017-03-07 12:48:05

标签: type-conversion microcontroller pic mikroc

我有一个从0到255的int值,我想将该值转换为十六进制或二进制,所以我可以将它用于8位寄存器(PIC18F uC)。 我该怎么做这个转换? 我尝试使用转换库中的IntToHex函数,但此函数的输出是一个char值,从这里我卡住了。 我正在使用mikroc作为照片。 我应该从哪里开始? 谢谢!

1 个答案:

答案 0 :(得分:0)

这是一个常见问题。许多人不明白,十六进制15与十六进制F相同,八分之一十七与二进制1111相同。

不同的数字系统适用于人类,对于CPU,它都是二进制的!

当OP说,

  

我从0到255得到一个int值,我想将该值转换为   十六进制或二进制,所以我可以将它用于8位寄存器(PIC18F uC)。

它反映了这种误解。可能是因为调试器配置为显示“十进制”值,示例代码/数据表显示寄存器操作的十六进制值。

因此,当您从0到255获得“int”值时,您可以直接将该数字写入8位寄存器。您不必将其转换为十六进制。十六进制只是让人类生活变得轻松的代表。

你能做的是 - 这是一个好习惯 -

REG_VALUE = (unsigned char) int_value;