我想显示一个64位数字作为字符串。问题是我的硬件不支持64位数字,而仅支持32位。
因此,我将64位数字分为两个32位数字(高和低部分)。
Example: 64-bit number : 12345678987654321 (002B DC54 6291 F4B1h)
32-bit low part: 1653732529 (6291 F4B1h)
32-bit high part: 2874452 (002B DC54h)
我认为解决我的问题的方法是将此数字显示为字符串。 有可能吗?
谢谢。
答案 0 :(得分:1)
是的,您可以使用32位uint
甚至更低位宽的数组...
要进行打印,您可以使用以下方法:
因此,首先打印一个在任何位宽上都很容易的十六进制字符串(因为您只需将较低位宽的打印内容从MSW堆叠到LSW即可),然后将十六进制文本转换为dec文本...
使用此链接的单位数组,您可以执行如下数学运算:
在uint
数组上执行操作比在字符串上执行操作要快得多...
但是如果您坚持要使用,也可以使用字符串表示形式...
也有类似BCD的混合表示形式,但是您的MCU需要对此提供支持...
答案 1 :(得分:1)
根据您选择的语言,即使在32位体系结构(例如python)上,该语言也可能允许您使用大于32位的整数。 如果真是这样,问题就变得微不足道了:计算值,然后计算相应的十六进制字符串。