问题标签 [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 投票
2 回答
1561 浏览

c# - C# 中的 BitArrays 有什么问题吗?

当我编译这段代码时:

我得到以下输出:

真真真

当我通过说 true ^ true 对两个布尔值进行异或运算时,我得到了错误。

是不是代码有问题。我对 XOR 真值表的记忆是 True XOR True 是 false。

0 投票
19 回答
362230 浏览

java - 在 Java 中创建“逻辑异或”运算符

观察:

Java 有一个逻辑 AND 运算符。
Java 有一个逻辑 OR 运算符。
Java 有一个逻辑 NOT 运算符。

问题:

根据 sun的说法, Java 没有逻辑 XOR 运算符。我想定义一个。

方法定义:

作为一种方法,它简单地定义如下:


方法调用:

该方法的调用方式如下:


运算符用法:

我宁愿有一个运算符,使用如下:


问题:

我找不到任何关于如何在 Java 中定义新运算符的信息。我应该从哪里开始?

0 投票
7 回答
1693 浏览

c++ - 为什么 C/C++ 中没有 ^^ 运算符?

&&&|||。为什么^没有^^

我知道它不会短路,但它会有不同的语义。在 C 中,true实际上是任何非零值。按位异或并不总是与逻辑异或相同:

既然你不能总是依赖一个真正的价值是1or -1,那么^^运算符不是很有帮助吗?我经常不得不做这样奇怪的事情:

0 投票
5 回答
8212 浏览

python - 检查是否仅设置了变量列表中的一个变量

我正在寻找一种简单的方法来检查变量列表中是否只有一个变量具有 True 值。我已经查看了这个逻辑异或帖子,并试图找到一种方法来适应多个变量并且只有一个是真的。

例子

0 投票
13 回答
54543 浏览

security - XOR 加密有什么问题?

我写了一个简短的 C++ 程序来对一个文件进行 XOR 加密,我可以将它用于一些个人文件(如果它被破解也没什么大不了的——我只是为了防止偶然的观众)。基本上,我使用 ASCII 密码,并反复将密码与文件中的数据进行异或。

不过,现在我很好奇:如果有人想破解这个,他们会怎么做?会不会需要很长时间?它是否取决于密码的长度(即,什么是大 O)?

0 投票
5 回答
3006 浏览

algorithm - 游戏求解算法(Buttonia,熄灯变体)

我正在尝试为游戏算法创建一个可解性函数。基本上是一个函数,它为给定的游戏返回真或假,如果它是可解的。

该游戏是 Buttonia.com(尚未实现算法),一种熄灯游戏。基本上你有一个按钮网格,每个按钮在按下时都会改变它的一些邻居的状态。目前我生成一个随机游戏配置,然后尽可能应用启发式方法。其余的由蛮力搜索决定。

到目前为止,我的进展是创建了一个方程组来模拟游戏。由于每个按钮都需要改变状态奇数次才能最终处于向下状态,所以它的等式是这样的:

button_A = 1 - (button_1 + button_2 + ... + button_X) % 2

其中 button_1 到 button_X 是对 button_A 有影响的按钮的状态。如果某些按钮不依赖于其他按钮,它们可能会立即解析。其余的,我尝试一种配置,直到我遇到冲突,然后返回轨道。

目前,该算法适用于较小的游戏配置。我已经从 3x3 游戏到 10x10 的大小对其进行了测试。其中 6x6 接近实际游戏的上限。

这些方程极大地减少了搜索空间的蛮力,使其变得实用。可能有一种纯粹的数学方法来求解方程组。


ASCII 格式的 3x3 游戏示例(来自buttonia.com/?game=2964):

解决方案,按这些:(0,0), (2,0), (1, 2), (0, 1), (1, 1), (2,1)

这场比赛的方程式:

潜在的解决方案:

更改数学函数以避免对模的需要使我们可以将左侧的项移到右侧,从而创建高斯方法所需的简洁矩阵设置。所以前两个方程将分别转换为:

此处讨论的解决方案:使用自定义运算符的高斯消除

越来越近。几乎准备好发布完整的解决方案:反转二进制网络

0 投票
4 回答
9730 浏览

encryption - 加密:反转按位和位移?

我正在尝试反转 XOR 加密。我有加密代码:

第一行很好。

第二个和第三个不是。我的3个问题是:

  1. 我想我可以扭转位移,它会工作吗?
  2. 但是我如何反转按位 & ?那么#2是如何反转的呢?
  3. 因此,如果#1 的答案是肯定的,并且我知道如何做#2,那么我可以这样做并且能够解密是吗?
0 投票
2 回答
268 浏览

regex - 使用正则表达式提取文本的问题

我需要从以下代码行中提取

我需要提取foobar,我可以使用这个:(?<=for=")[^"]+(?=("))提取:

但我不想<%=,或者.bar如果我尝试创建(?<=for=")[^"]+(?=(")) | (?<=for="<%=)[^"]+(?=("))它不起作用,因为包含的标签<%=同时满足这两个条件,我认为你不能使用 XOR?这是任何人都可以帮助我吗?

谢谢 :)

0 投票
1 回答
20527 浏览

c# - ^ 运算符真的是 C# 中的 XOR 运算符吗?

我读到该^运算符是 C# 中的逻辑 XOR 运算符,但我也认为它是“力量”运算符。解释是什么?

0 投票
1 回答
1772 浏览

assembly - 异或存储在 EAX 中的地址

你怎么能 XOR 存储在 EAX 中的值?

问题出在这一行:

EAX 包含我想要异或的值的地址。我怎样才能做到这一点?我认为这将是类似的东西:

但这不起作用(语法错误)