【发布时间】:2013-08-25 03:53:57
【问题描述】:
我有一个嵌入式 16 位 CPU。在这台机器上,整数是 16 位宽的,它支持 32 位宽的长整数。我需要做一些需要以 64 位存储的乘法运算(例如,将 32 位数字乘以 16 位数字)。我怎样才能在给定的约束下做到这一点?我没有数学库来做这件事。
【问题讨论】:
-
您需要一个数学库,以函数调用的形式提供这种服务。
-
嗯......你没有提供足够的信息。你是用汇编程序还是 C 或其他东西编程?您将需要自己获取或编写一个执行乘法运算的函数或子程序。尝试在 Google 上搜索“微处理器数学库的名称”。如果可能的话开源,然后你可以看到它是如何完成的源代码,如果你不想在你的程序中包含整个库,只需复制说明即可。 (这不是我的专业领域,我做这种编程已经 35 年了,我很惊讶它仍然是必要的。)
-
如果您提供微处理器的名称可能会有所帮助,而不仅仅是说“嵌入式 16 位 cpu”。
-
现在我想起来了,在“过去的美好时光”中,微处理器制造商通常会提供免费的数学库和/或发布建议的算术函数来做这类事情。但就像我说的,我不知道现在如何为微处理器进行低级编程。
标签: 64-bit 16-bit multiplication integer-arithmetic