- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我看到一个问题,要求从仅包含一个连续数字的集合中找出非重复数字,其余数字可以重复任意偶数次。那里有一个限制,您需要使用常量内存在单次传递中找到该数字。 {假设所有都是正数}。
我通过制作这个功能轻松实现了这一点
private static int nonRepeatingElement(int[] set)
{
int element = 0;
for (int i = 0; i < set.length; i++)
{
element = (element ^ set[i]);
System.out.println(element);
}
return element;
}
这工作正常。
现在只是出于好奇,我想用类似的约束来改变问题。
问题1
我想到了一个集合,它现在包含可以出现任何奇数次的元素,除了一个元素甚至没有出现的时间。 例如
{2,5,7,5,7,1,2,7,1,5,2}
现在考虑 XNOR 为 1 的每个奇数出现给出 0 的逻辑,我将代码更改为有点像
for (int i = 0; i < set.length; i++)
{
element = (element ^ set[i]);
System.out.println(element);
}
return ~element;
但这没有用。
问题2
如果我采用集合中的元素,如 {2,5,7,5,7,1,2,7,5,2} 认为 XNORing 将使每三次出现的数字为 0,XNORing 为 1(单次出现)为 0将翻转 1 的位。因此,如果我翻转(〜)我从 XNOR 操作中得到的位,则可以实现最终结果。但这也不起作用。
我知道为什么这种语义会出错,因为它是不合逻辑的按位运算。但是如果可以使用异或来查找数字的奇数出现,那么 XNOR 是否有任何方法可以找到数字的偶数出现?
< br/>我不确定我只是出于好奇而问这个问题的可行性,所以如果它在任何情况下都无关紧要,请原谅我的无知。
最佳答案
XOR
和 XNOR
是可交换的。这意味着序列的任何重新排序都将始终产生相同的结果。
您已经知道 a ^ a
为零。这就是单个数字抽象的工作原理:a ^ b ^ a
等于 a ^ a ^ b
等于 0 ^ b
即 b
.
但是 a XNOR a
也不是 a
的函数。它只是 1 位的全部负载。因此,您无法使用 a XNOR a
恢复 a
的值,因此您的方法将不起作用。
关于java - 实现按位 XNOR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27167893/
我看到一个问题,要求从仅包含一个连续数字的集合中找出非重复数字,其余数字可以重复任意偶数次。那里有一个限制,您需要使用常量内存在单次传递中找到该数字。 {假设所有都是正数}。 我通过制作这个功能轻松实
我正在编写一个 SQL 查询,用于检查其 where 子句中的错误设备。为了执行这个操作,我需要一个一个地检查每个设备的修订周期,所以这个条款将结果限制为正确的设备(没有任何周期不正确): where
我做了一些研究,并用 Java 编写了一些适合我需要的简单程序。我在整数上使用了逻辑运算符 AND、OR、XOR,但我错过了 XNOR 运算符。我正在寻找的是一个 XNOR 运算符,其行为与提到的其他
我在网上搜索过,但没有找到解决此问题的方法。 运算符的逻辑优先级是什么NAND , NOR和 XNOR ? 我的意思是,以表达式为例 A AND B NAND C 应该首先评估哪个运算符? 显然 NA
我正试图找到用 C 语言编写 XNOR 门的最有效方法。 if(VAL1 XNOR VAL2) { BLOCK; } 有什么建议吗? 谢谢。 最佳答案 有两个操作数,这很简单: if (val
XNOR operation should be performed on the two integer values (1101011 XNOR 1010101) and should retur
我正在处理一个 key 未知的 XNOR 加密文件。我想修改此处可用的 xortool:https://github.com/hellman/xortool用于 XNOR 加密。 显然,只有两行使用了
我有两个字符串存储在 a 和 b 中。如果两个字符串都有一些值,我想进行一些验证。为此,我使用: if(a && b) { //Do some processing. } 但是如果其中一个为空
目前,我有一组可能性,我正在寻找基于该可能性列表计算事实(逻辑XNOR) >. var possibilities = new[] { new[] {0, 1, 1, 1, 1, 1, 1,
我是 C# 新手,找不到 XNOR运算符提供此真值表: a b a XNOR b----------------T T TT F FF T FF F
我想有人帮助我。有一个非常好的 JS 库 math.js。它实现 bool 逻辑运算符 NOT、OR、AND、XOR。我需要其他的:NOR、NAND、XNOR。 我知道 NOR 不是 OR,但是;有一
我有两个 64 位值,我想按如下方式对它们进行 XNOR: RAX: 01000001 | 01000010 | 01000011 | 01000001 | 01000101 | 01000110 |
我是一名优秀的程序员,十分优秀!