Pascal中的模算子?

Pascal中的模算子?,pascal,Pascal,我怎样才能得到除以2ints的剩余值 当使用Java时,我使用%操作符,但是在Pascal中我可以做什么呢?使用mod操作符,如下所述 在delphi中有MOD运算符aka x=Y MOD Z。应在pascal中工作pascal的模运算符为MOD。它的工作原理与Java和C/C++中的%操作符类似: var X, Y: Integer; begin X := 10; Y := X mod 4; // result: Y = 2 Y := X mod 3; // result:

我怎样才能得到除以2
int
s的剩余值


当使用Java时,我使用
%
操作符,但是在Pascal中我可以做什么呢?

使用mod操作符,如下所述


在delphi中有MOD运算符aka x=Y MOD Z。应在pascal中工作

pascal的
运算符为
MOD
。它的工作原理与Java和C/C++中的
%
操作符类似:

var
  X, Y: Integer;
begin
  X := 10;
  Y := X mod 4;  // result: Y = 2
  Y := X mod 3;  // result: Y = 1
end;

在Java中使用
n mod 2
的方法与使用
n%2
的方法相同(当
n>=0
无论如何……不确定Pascal对负数做了什么,但Java做了错误的事情。)


然而,这样做的最常见原因是测试数字是偶数还是奇数,而Pascal有内置函数
odd(n)
来实现这一点。在许多编译器上,
ord(odd(n))
是获得n mod 2剩余部分的更快方法。

遗憾的是,Pascal mod不能以这种方式使用。原因是我在拉拢帕斯卡标准委员会时做了一件不完整的工作


我游说并恳求标准委员会采取正确的方式,直到他们最终让步。例如-5 mod 2等于1。令我恐惧的是,他们用错了整数除法。我从来没想到他们不会把这两个人撮合起来。时至今日,帕斯卡(-5模2)+(-5/2)等于-4。我自责。

请在这里描述一下。如果大部分内容都在非网站位置,而该网站由于某种原因(移动、离线等)不可用,则您的答案将失去所有意义。答案应该包含足够的内容来回答这里的问题;指向外部网站的链接只能用作其他参考。谢谢。还要注意的是,
div
mod
是除法/模的整数版本,而
/
返回一个真实的结果。海报指定了“除法2
整数的剩余部分
,但可能应该指出给未来的读者。谢谢:-)(模运算总是整数,因此会产生整数值。)竖起大拇指试试。不过,最后一位……你的意思是(-5模2)+(-5模2)*2吗?我不希望(a模b)+(a/b)有什么特别的,但你希望(a模b)+(a模b)*b回到a。(我从中得到-3而不是-4。)
var
  X, Y: Integer;
begin
  X := 10;
  Y := X mod 4;  // result: Y = 2
  Y := X mod 3;  // result: Y = 1
end;