问题标签 [bitwise-xor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2960 浏览

algorithm - 找到偶数出现的数字

给定一个数组,其中每个数字的出现次数为奇数,但出现次数为偶数的数字除外。找到偶数出现的数字。

例如

输出应该是:

以下是约束:

  1. 数字不在范围内。
  2. 就地进行。
  3. 所需的时间复杂度为 O(N)。
  4. 数组可能包含负数。
  5. 数组未排序。

由于上述限制,我所有的想法都失败了:基于比较的排序、计数排序、BST、散列、蛮力。

我很想知道:XORing 会在这里工作吗?如果是,如何?

0 投票
2 回答
1511 浏览

python-2.7 - python bitwise_xor

我在进行异或搜索时遇到问题。我有一个由二进制值组成的数组。我的列表包含 1000 个不同的二进制值,我想计算双循环在列表中找到一个元素所需的时间。因此,对于双循环搜索,我希望它通过循环 [(1) + (2) +(3)+...+(1000)] = 500500 次。[n(n+1) / 2]

我在以下代码中使用 bitwise_xor

不幸的是,当我打印 count 时,我得到 count = 1,000,000

如果我将 if 语句更改为

计数为 1000

我也尝试过:

但它给了我“TypeError:^:'str'和'str'不支持的操作数类型”

一个工作示例是:1101110111010111011101101110110010111100101111001 XOR 1101110111010111011101101110110010111100101111001 它应该给我 0 并退出内循环

代码有什么问题?

0 投票
0 回答
49 浏览

java - 按位异或返回值使用不正确?

我用异或交换交换了两个整数的值,为此我使用了以下代码行:

之后,b得到正确的值( 的前值a),但a变为零。如果我不在一行上写它,它可以正常工作,如下所示:

我做错了什么,还是 netbeans/compiler/JRE 做错了什么?(使用 netbeans 7.2.1)

0 投票
3 回答
20054 浏览

python - 将 XOR 更改为 XNOR

我正在处理一个密钥未知的 XNOR 加密文件。我想修改此处提供的 xortool:https ://github.com/hellman/xortool以用于 XNOR 加密。

显然,只有两行使用 '^' 运算符。所以我尝试使用 ~ 运算符将它们更改为 xnor。但我无法获得所需的输出。我怎样才能做到这一点?

编辑:代码仅在 xortool.py 的第 248 行使用 '^' 运算符

在routine.py的第75行

所以我在它们之前添加了一个 ~ 运算符。

0 投票
1 回答
39 浏览

bit-manipulation - 哪个快?

我尝试了这些操作:

(7 xor 5) (7 - 5)

我得到相同的答案。我想知道哪个操作快?谁能给我解释一下?

0 投票
1 回答
2460 浏览

android - OpenCV中的Android按位异或错误

我在 android 上尝试了按位异或,但出现以下错误:

这是我的代码:

我还尝试通过以下方式实例化 temp1 和 temp2:

但仍然是同样的错误..

0 投票
2 回答
12826 浏览

bit-manipulation - 计算奇偶校验

我不完全理解这种计算奇偶校验位的算法。有人可以详细解释一下吗?

以下代码摘自《Hacker's Delight》一书:

0 投票
2 回答
1042 浏览

matlab - 双数和位异或

我有两个矩阵a = [120.23, 255.23669877,...]b = [125.000083, 800.0101010,...]在 [0, 999] 中有两个数字。我想使用bitxorforab。我不能这样bitxor使用round

因为小数部分 0.23 和 0.000083 ,... 对我来说非常重要。我想也许我可以做a = a*10^kandb = b*10^k并使用bitxorand 之后result/10^k(因为我希望我的结果范围也是 [0, 999]。但我不知道小数点后数字的最大长度。是否k = 16支持最大范围Matlab中的双数?是否bitxor支持两个19位数字?有更好的解决方案吗?

0 投票
4 回答
6368 浏览

math - 给定两个数字的 XOR & SUM。如何找到数字?

给定两个数字的 XOR & SUM。如何找到数字?例如,x = a+b,y = a^b;如果给定 x,y,如何得到 a,b?如果不能,请给出原因。

0 投票
2 回答
13791 浏览

c++ - 简化 (a + b) 异或 (c + b)

是否可以简化(a+b)xor(c+b)b对最终结果的贡献是什么?请注意,我将布尔代数与算术混合在一起,xor是按位异或在相应位上,+是 8 位上的标准加法,溢出时会回绕。a, b, c 是无符号字符;