问题标签 [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 回答
1120 浏览

c - 指针中的位操作,无符号字符

我正在尝试将 unsigned char 变量的一位更改为 1。不过,我一直遇到分段错误。这是失败的代码片段:

...

编译:make:*** [all] 分段错误(核心转储)

0 投票
1 回答
2956 浏览

java - 使用按位异或进行 Java 字符串比较

我在产品代码中遇到了以下代码片段。它使用按位异或进行字符串比较。这比String.equals(Object o)方法好吗?作者在这里想要达到什么目的?

对于上下文,被等同的字符串是身份验证令牌。

0 投票
0 回答
471 浏览

algorithm - 给定范围内小于或等于 K 的 2 个数字的异或

给定两个数字leftright另一个数字,找到小于或等于这样的k最大值。a XOR bkleft <= a < b <= right

一种解决方案是检查所有对,但我觉得必须有一个恒定的时间解决方案。

我知道如何在恒定时间内找到具有最大 XOR 值的对,它是否与这个问题有关?

0 投票
1 回答
2459 浏览

javascript - 使用 Javascript ArrayBuffer 执行 XOR 的最快方法

我有一个代表位的类,它用于ArrayBuffers存储二进制数据。我试图弄清楚是否有更快的方法来执行xorbetween two ArrayBuffers

注意的长度ArrayBuffers通常小于 10 个字节。但是由于xor操作执行了数百万次,如果不是数十亿次,那么每毫秒节省的时间都很重要。

注意在本地和浏览器上寻找可执行的解决方案。

0 投票
1 回答
953 浏览

bit-manipulation - 如何求解 A xor ( A - 4 ) = 5 之类的 XOR 方程?

实际上,我试图解决 Hackerrank 中的“Xoring Ninja”。

https://www.hackerrank.com/challenges/xoring-ninja/problem

令 A 为 N 个元素的集合 {a1, a2, ......, aN}

集合 A 的 XORSUM 在这里定义为 A 的所有非空子集的 XOR 之和。

令 S = XORSUM

S = (a1 + a2 + ... + aN) + [(a1 ^ a2) + (a1 ^ aN) + ..] + {3 个大小的子集} + ... + (a1 ^ a2 ^ .... . ^ 一N)

令 T = (a1 ^ a2 ^ .... ^ aN)

那么 S = T ^ (S - T)

S ^ S = S ^ T ^ (S - T)

0 = T ^ S ^ (S - T)

T ^ 0 = T ^ T ^ S ^ (S - T)

T = S ^ (S - T)

我想知道如何用位运算符解决任何涉及 + - * / 的方程?

0 投票
4 回答
3812 浏览

bash - 如何在bash脚本中异或两个十六进制数字?(异或加密)

我编写了一个操作十六进制值的 bash 脚本,我需要在两个十六进制数之间进行异或运算。我的问题是,当我在 bash 提示符下尝试时,它可以工作并返回正确的值,但在脚本中这个值是假的。

当 XOR 变量 $ExtendAuthKey 和 $IPAD 的结果必须是:181ad673a5d94f0e12c8894ea26381b3636363636363636363636363636363636363636363636363636363636363636363636363636363663636636366

但实际上我得到了这个值:3906369333256140342

我不明白这种行为,如果您有解释或解决方案,我会接受,谢谢

看我的脚本:`

`

0 投票
2 回答
1665 浏览

python - Python xor 二进制数据与十进制值

我对按位异或运算符的行为有点困惑。为什么,如果 xor 只能用于二进制数据,我是否可以将 xor 用于十进制数?

例如:

ord(fs)给了我一个非二进制的 ASCII 码。

0 投票
1 回答
119 浏览

c++ - 在通过尾随零使较小的二进制表达式等于较大的二进制表达式后找到 2 个数字 a 和 b 的异或

输入:输入的第一行包含整数 T,表示测试用例的数量。对于每个测试用例,有两个整数输入 a 和 b。

输出:对于每个测试用例,输出是显示 a 和 b 等长后的 XOR 的整数。

约束:1<=T<=100 1<=a,b<=107

示例:输入:4 2 6 3 10 5 24 1 20 输出:2 6 12 4

说明: 1. 2 的二进制表示为 10,6 的二进制表示为 110。由于“10”的长度较小,所以在其上加一个“0”使其变为“100”,使二进制表示的长度相等。 100 和 110 的异或得到 010,即 2。

我的代码是

我想我让它变得更冗长和复杂,如何让它变得简单和简洁。

0 投票
1 回答
938 浏览

python - 浮点python上的按位异或

我打算用 Python 构建一个温度测量应用程序(在资源受限的物联网设备上)。我将测量传感器的温度,将其与之前的测量值进行比较,并且仅当新测量值在允许的偏差范围内时才将数据发送到服务器。所以:

1) 测量传感器的温度

2) 检查测量值是否与前一次测量值的偏差大于某个设定偏差

示例

先前的测量值为 24.0 C,允许偏差 0,3 C

1) 温度测量为 23,5 C

2) 测量偏差超出允许范围。发送到服务器

我最初的想法是对前一个和当前的测量值进行按位异或,然后从允许的偏差中减去它。

如果结果是肯定的 -> 数据不发送

如果结果是否定的 -> 发送数据

我正在努力在 Python 中做到这一点,希望能得到一些帮助。或者,任何有关如何以不同方式执行此操作的建议将不胜感激!

0 投票
1 回答
634 浏览

bit-manipulation - 在 C 中使用位运算符进行范围检查

我正在研究这种方法,但我仅限于使用这些运算符:<<, >>, !, ~, &,^|

我想使用按位运算符进行上述范围检查,是否可以在一行语句中进行?

例子:

这是正确的方法吗?