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

Convert from int to binary or hex in mikroc

我得到一个从 0 到 255 的 int 值,我想将该值转换为十六进制或二进制,以便我可以将它用于 8 位寄存器 (PIC18F uC)。 我该如何进行这种转换? 我尝试使用 Conversion Library 中的 IntToHex 函数,但该函数的输出是一个 char 值,从这里我被卡住了。 我正在使用 mikroc 进行图片处理。 我应该从哪里开始? 谢谢!

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

人类的数制不同,CPU都是二进制!

当 OP 说时,

I got an int value from 0 to 255 and I want to convert that value to hex or binary so i can use it into an 8 bit register(PIC18F uC).

反映了这种误解。可能是因为调试器配置为显示 "decimal" 值,样本 code/datasheet 显示寄存器操作的十六进制值。

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

您可以做的是 - 这是一个很好的做法 -

REG_VALUE = (unsigned char) int_value;