问题标签 [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.
javascript - 为什么按位异或在 JavaScript 的 if 语句中不起作用?
有人可以解释这种行为吗?
https://jsfiddle.net/td1qtyxL/9/
基本上除非a^b
存储在变量中(或括在括号中),否则它不起作用。
两者都产生相同的结果。
艾米我做错了什么还是这是一个错误?当它在 if 子句中或在其他地方时,按位的工作方式是否不同?我不经常使用按位,只是认为这很优雅,从这里跟进答案:检查两个整数是否具有相同的符号
c# - 为什么在与 1 异或时取反一个值会改变结果?
我知道 XOR 的工作原理,
结果到
但这如何返回 2?
haskell - 如何使用 xor 在折叠中解决 Haskell 的 Int shift 参数?
我有一些代码(生成 Rijndael S-box,为了好玩),如下所示:
这看起来有点傻——这不是弃牌的完美情况吗?但我不能使用折叠,因为移动距离shiftL
需要Int
,当然也xor
需要Bits
.
对我来说,一个要操作的函数Bits
不会接受Bits
它的所有参数,这对我来说似乎很尴尬。我很想知道这样做的合理性,但我更想知道是否有任何优雅的方式来实现我想要的折叠。
bit-manipulation - 从 Int16 值 C# 中读取位
在下面的代码中,我们可以将特定位设置为 Int16 值:
我想以更有效的方式从短 X 中读取所有位并将它们放入一个数组或将每个位放入一个布尔值。
javascript - javascript按位异或产生不一致的结果
我在 javascript 中使用按位运算,但我注意到一些看起来不一致的东西。
现在,我正在使用 XOR (^) 操作。当我这样做时'0101'^'0001'
,我得到 4,这是有道理的,因为 4 = 0100 二进制。但是当我这样做时'10001'^'01111'
,我得到 9030,当我认为我应该得到 11110 时。格式是,据我所知,相同;只有字符串不同。
为什么这段代码会产生这个结果?
现在,如果我这样做:
为什么'0b'
在 17 和 15 上进行按位运算时,我必须添加以指定字符串是二进制序列,而不是在 5 和 1 上?
javascript - JS 按位异或运算符的作用与 PHP 的对应运算符不同。如何获得与 PHP 返回相同的结果?
JS 按位 XOR 运算符的行为是否与 PHP 的对应运算符不同?我在 JS 和 PHP 中收到相同操作的不同结果。
这是 PHP 代码。^
如果逐个字符进行XOR 位运算符,则最终数组完全包含结果。它不同于 Node.js 的按位异或:
这是 Node.js 等价于上面的 PHP 代码。这是代码https://repl.it/JjPV/0的链接。但由于某种原因,它在该编译器中不起作用。但是它适用于本地 Node.js 安装。
这是一个没有函数的代码(为了节省空间;函数在repl.it
链接中)。并且按位的结果是不同的。为什么会这样?如何使其与 PHP 返回相同?
matlab - 使用整个单元格数组值设置单元格数组的单个值?
我的单元格数组,它包含像 a=['10100011' '11000111' 00010111' 11100011 ']; 这样的值 我想应用异或运算;我用过setxor。我想将数组的第一个值(即 10100011)异或到单元格数组的所有值,所需的输入和输出如下!
但我不知道如何传递完整的单元格数组和单个值,我尝试使用 cellfun 但这不起作用。我想要一些 setxor(我的单元格数组的第一个 val,我的单元格数组的所有 vals),因为我的单元格数组是 16x16。您的帮助将不胜感激。
python - XOR 查找两个列表之间的缺失元素
我试图解决这个问题
“考虑一个非负整数数组。第二个数组是通过将第一个数组的元素打乱并删除一个随机元素形成的。给定这两个数组,找出第二个数组中缺少哪个元素。”
解决方案之一是使用 XOR 的代码
函数的结果是 5。
我知道异或的基本原理。但是我不明白上面的代码是如何找到结果的。
c - C、位图操作
我有 3 个位图数组,我想根据以下条件计算一个布尔结果:
例如:
在本例中,bit3 和 bit2 是一对(参见 Bitmap#2)。假设 bit3 为 1(参见 Bitmap#3),则:
如何使用位运算来计算结果?
谢谢!