相关疑难解决方法(0)

ANSI C或ISO C是否指定-5%10应该是什么?

我似乎记得ANSI C没有指定当模运算符的操作数为负时应该返回什么值(只是它应该是一致的).它是否稍后被指定,或者是否总是被指定并且我记得不正确?

c c99 modulo c89

19
推荐指数
1
解决办法
2282
查看次数

Perl:理解对负数的模运算(例如 -10%3)

我正在学习 Perl (5.14) 并且我有点坚持使用负数取模。例如,让我们看一下 10%3 的变体。

开始,

perl -le 'print -10%-3'
Run Code Online (Sandbox Code Playgroud)

产量-1,正如预期的那样。

但,

perl -le 'print -10%3'
Run Code Online (Sandbox Code Playgroud)

产量2。

和,

perl -le 'print 10%-3'
Run Code Online (Sandbox Code Playgroud)

产量-2。

我不明白最后两个结果。对于 10%3 的任何变化,我预计只有 1 或 -1。为什么结果应该返回 2,无论是正数还是负数?

perl

3
推荐指数
1
解决办法
2824
查看次数

标签 统计

c ×1

c89 ×1

c99 ×1

modulo ×1

perl ×1