Ada mod 和 rem 实现

Ada mod and rem implementation

在研究 mod 和 rem 之间的确切区别时(我承认我几年前就应该做的事情,但我在这件事上发现的很少。https://en.wikipedia.org/wiki/Modulo_operation 说有几个不同的部门可以使用,并说明每个结果的符号。如果有任何关于在 ARM 中执行哪个除法的声明,我一定错过了。我假设它是欧几里得,但我想确定。

编辑:
所以我错过了这个: http://www.adaic.org/resources/add_content/standards/05rm/html/RM-4-5-5.html 涵盖了关系。但是,在 mod 的关系中:
A = B*N + (A mod B)
唯一提到 N 的是 "in addition, for some signed integer value N"。 N从哪里来?

正如评论中所说,http://www.ada-auth.org/standards/12rm/html/RM-4-5-5.html 很好地解释了行为上的根本差异。参考手册下方的表格很有帮助。我最终得出的结论(并针对各种小数类型实施)是 rem 使用截断除法,而 mod 使用底除法。如果显示错误,我将编辑此答案。