【发布时间】:2017-05-23 07:40:45
【问题描述】:
我知道过去有人问过类似的问题,但经过漫长的过程,我已经实现了算法,以使用重复减法除法正确找到 商。但我无法从这种方法中找出余数。有什么快速简便的方法可以在 32 位处理器上找出 64 位/64 位除法中的 余数。更准确地说,我正在尝试实施
ulldiv_t __aeabi_uldivmod(
unsigned long long n, unsigned long long d)
本文引用http://infocenter.arm.com/help/topic/com.arm.doc.ihi0043d/IHI0043D_rtabi.pdf
【问题讨论】:
-
重复减法除法很慢。无论如何,如果您有商,总是很容易得到余数
a % b = a - (a/b)*b。实现类似于在 64 位处理器上进行 128/128 位除法,您可以在此处的某处找到 stackoverflow.com/q/1870158/995714 stackoverflow.com/a/2566570/995714
标签: c algorithm arm integer-division eabi