algorithm - 按位取模运算符

标签 algorithm

我们知道例如二的模可以这样表示:

x % 2 inpower n == x & (2 inpower n - 1).

例子:

x % 2 == x & 1
x % 4 == x & 3
x % 8 == x & 7 

两个数的一般非幂怎么样?

假设:

x % 7==?

最佳答案

首先,这样说其实并不准确

x % 2 == x & 1

简单的反例:x = -1。在许多语言中,包括 Java,-1 % 2 == -1。也就是说,% 不一定是模的传统数学定义。例如,Java 将其称为“余数运算符”。

关于按位优化,在按位算术中只能“轻松”完成 2 的模幂。一般来说,只有 b 的模幂可以“轻松”地用数字的 b 表示来完成。

例如,在基数 10 中,对于非负数 NN mod 10^k 只是取最低有效位 k .

引用资料

关于algorithm - 按位取模运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3072665/

相关文章:

java - Java数据结构的空间复杂度

c++ - 找到最接近给定素数列表的因素的数字

python - 控制无限递归的更好方法

algorithm - 从字符串向量中移除_if

algorithm - 为什么 "Longest Common Subsequence"使用编辑距离方法禁止 "substitution"

在网站上完成任务的健康/事件评分算法

python - 在图中查找所有长度为 2 的路径

java - 对文件使用相同的 AES 算法的错误填充异常?

arrays - 双端动态数组数据结构的缺点是什么?

algorithm - 在未排序的数组中找到所有对 (x, y) 使得 x + y = z