gpt4 book ai didi

c - -9 % 7 怎么可能是 -2 或 5?

转载 作者:太空宇宙 更新时间:2023-11-04 02:52:09 26 4
gpt4 key购买 nike

据我了解,模数定义为:

Floor(a/b)*b + a%b = a

'a' 可以是 +9 或 -9所以:

Floor(9/-7)*-7 + a%b = 9 gives a%b = 2
or
Floor(-9/7)*7 + a%b = -9 gives a%b = -2

怎么是5?

最佳答案

根据评论,这是正在发生的事情:Floor(-9/7) 可以向上或向下舍入。因此:-1.285.. 可以四舍五入为 -1 或 -2。如果四舍五入为 -1,则 a%b 为 -2,但如果四舍五入为 -2,则 a%b = 5 因为 Floor(-9/7)*7 + a%b = -9;给出 -2*7 + a%b = -9;给出 5。

换句话说,必须考虑舍入底值 -1.285.. 的方向,因为不同的硬件架构舍入方式不同,有些朝向顶部(-1),有些朝向底部(-2,这是更负的).

The C89 standard states that if either operand is negative. the result of a divi- sion can be rounded either up or down.

In C99. on the other hand. the result of a division is always truncated toward zero (so - 9 / 7 has the value -I) and the value of i % j has the same sign as i (hence the value of -9 96 7 is -2).

% 是余数运算符。

关于c - -9 % 7 怎么可能是 -2 或 5?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21074672/

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