gpt4 book ai didi

operators - Ada 余数运算符的区别?

转载 作者:行者123 更新时间:2023-12-05 08:58:52 25 4
gpt4 key购买 nike

所以,我知道 Ada 提供了两个余数运算符,remmod,但它们之间到底有什么区别?我能够找到 this ,但我不确定我是否完全理解其中的区别。

最佳答案

如果 A 为非负且 B 为正,则 A mod BA rem B 之间没有区别.如果 A 为负且 B 为正,则 mod 为您提供真正的数学模运算;因此,例如,如果 B 为 5,则对于 A 的值,以下是 A mod 5A rem 5 的结果:

A       = -10 -9 -8 -7 -6 -5 -4 -3 -2 -1  0  1  2  3  4  5  6  7  8
A mod 5 = 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3
A rem 5 = 0 -4 -3 -2 -1 0 -4 -3 -2 -1 0 1 2 3 4 0 1 2 3

注意 A mod 5 结果中的模式。rem 对应于 % 运算符在 C 风格语言(但显然不是 Python 或 Ruby)中的工作方式。它在某些处理器上可能更快。如果您必须处理 A 的负值,我的直觉是 mod 更有用,但 rem< 可能有一些用途 还有。我认为 modrem 右手操作数为负数没有多大用处,所以我不会太担心定义。

另见 http://en.wikipedia.org/wiki/Modulo_operation .

关于operators - Ada 余数运算符的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20013334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com