【发布时间】:2017-03-07 12:48:05
【问题描述】:
我得到一个从 0 到 255 的 int 值,我想将该值转换为十六进制或二进制,以便我可以将它用于 8 位寄存器 (PIC18F uC)。 我该如何进行这种转换? 我尝试使用转换库中的 IntToHex 函数,但该函数的输出是一个 char 值,从这里我被卡住了。 我正在使用 mikroc 图片。 我应该从哪里开始? 谢谢!
【问题讨论】:
-
不清楚你在问什么,比特就是比特。向我们展示您希望以编程方式执行的具体示例。我在这个基础中有这个值,我以这种方式获得,并希望它以这种形式转换为这个基础中的这个值,所以我可以在这里使用它......
-
一个 0 到 255 的数字可以放入一个 8 位寄存器,这是您唯一需要担心的事情。了解 8 位或 16 位有符号/无符号整数的数值限制。十六进制、八进制、十进制或二进制 - 这些只是同一整数的表示。您拥有的值(通常)在微控制器中编码为 binary 数字,并且仅当您想要进行按位操作(提取、屏蔽或移动单个位)时才应该关心您。您想要将 representation 更改为 hex/oct/dec 的唯一地方是向用户显示值时。
-
换句话说,
IntToHex可能返回一个char指针,即一串字符,因为它正在将整数转换为文本表示以进行显示。例如,如果您的值为255,则IntToHex可能会返回一个以null 结尾的字符串"FF"。但是要将值分配给寄存器,只需分配实际值,而不是字符数组。
标签: type-conversion microcontroller pic mikroc