首先,说这实际上是不准确的
x % 2 == x & 1
简单的反例:
x = -1。在许多语言中,包括Java ,
-1 % 2 ==-1。也就是说,
%不一定是模的传统数学定义。Java将其称为“余数运算符”。
关于按位优化,在按位算术中只能“轻松”完成两个模的幂。一般来说,基地只有模权力 b 可以“轻易”地与基地做 b 数字表示。
例如,对于非负数
N,以10为底
N mod 10^k仅取最低有效
k数字。
参考资料
- JLS 15.17.3余数运算符%
- 维基百科/模运算

首先,说这实际上是不准确的
x % 2 == x & 1
简单的反例:
x = -1。在许多语言中,包括Java ,
-1 % 2 ==-1。也就是说,
%不一定是模的传统数学定义。Java将其称为“余数运算符”。
关于按位优化,在按位算术中只能“轻松”完成两个模的幂。一般来说,基地只有模权力 b 可以“轻易”地与基地做 b 数字表示。
例如,对于非负数
N,以10为底
N mod 10^k仅取最低有效
k数字。