标签: xor

C:XNOR/Exclusive-Nor门?

我试图找到在C中写一个XNOR门的最有效方法.

if(VAL1 XNOR VAL2)
{
    BLOCK;
}
Run Code Online (Sandbox Code Playgroud)

有什么建议?

谢谢.

c logic xor

10
推荐指数
2
解决办法
1万
查看次数

获得一个数字的有效方法,不能从任何XORing组合生成

如果[0 .. 2 64 ] 范围内的任何数字不能由给定集合中的一个或多个数字的任何XOR组合生成,那么是否存在打印至少一个无法到达的数字的有效方法,或者终止信息,没有无法访问的号码?这个问题有名字吗?它是否与另一个问题类似,或者您有任何想法,如何解决?

algorithm xor

10
推荐指数
1
解决办法
277
查看次数

我如何按位XOR两个C char数组?

我觉得愚蠢无法解决这个问题,但我迷失了.我试图XOR两个C字符串.

#include <stdio.h>
#include <memory.h>
#include <stdlib.h>
int main()
{
    char plainone[16]; 
    char plaintwo[16];
    char xor[17];
    strcpy(plainone, "PlainOne");
    strcpy(plaintwo, "PlainTwo");
    int i=0;
    for(i=0; i<strlen(plainone);i++)
        xor[i] ^= (char)(plainone[i] ^ plaintwo[i]);
    printf("PlainText One: %s\nPlainText Two: %s\n\none^two: %s\n", plainone, plaintwo, xor);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的输出是:

$ ./a.out 
PlainText One: PlainOne
PlainText Two: PlainTwo

one^two: 
Run Code Online (Sandbox Code Playgroud)

为什么xor数组不能读作什么?

c arrays bit-manipulation char xor

10
推荐指数
1
解决办法
3万
查看次数

是否可以使用XOR来检测多个条件中的一个是否正确?

例如,

if (bool1 ^ bool2 ^ bool3 ^ bool4)
{
    // Do whatever
}
Run Code Online (Sandbox Code Playgroud)

只有在满足其中一个条件时才应执行.

java boolean-logic xor

10
推荐指数
1
解决办法
230
查看次数

在许多情况下,使用XOR运算符来查找数组中的重复元素会失败

我遇到了一篇文章如何在一个混洗的连续整数数组中找到一个重复的元素?但后来意识到这很多输入都失败了.

例如:
arr[] = {601,602,603,604,605,605,606,607}

#include <stdio.h>
int main()
{
int arr[] = {2,3,4,5,5,7};
int i, dupe = 0;
for (i = 0; i < 6; i++) {
    dupe = dupe ^ a[i] ^ i;
}
printf ("%d\n", dupe);
return 0;
}
Run Code Online (Sandbox Code Playgroud)

如何修改此代码,以便可以找到所有案例的重复元素?

c c++ xor duplicates

9
推荐指数
3
解决办法
2万
查看次数

C/C++:将0赋值给无符号长变量或者将变量与自身进行xor分解是否更快?

我意识到差异可以忽略不计,但是在尝试将无符号长度归零时哪个更有效?

unsigned long x;

...

x=0;

--OR--

x^=x;
Run Code Online (Sandbox Code Playgroud)

泰勒

c c++ performance xor variable-assignment

9
推荐指数
2
解决办法
1184
查看次数

9
推荐指数
2
解决办法
2万
查看次数

如何对两个十六进制字符串进行异或,以便每个字节分别进行异或?

我已经在这里发布了几天类似的问题了,但似乎我没有问正确的事情,所以请原谅我,如果我用XOR问题让你筋疲力尽:D.

要点 - 我有两个十六进制字符串,我想对这些字符串进行异或,以便每个字节分别进行异或(即每对数字分别进行异或).我想在python中这样做,我希望能够拥有不同长度的字符串.我将手动做一个例子来说明我的观点(我使用了代码环境,因为它允许我放入我希望它们的空间):

Input:
s1 = "48656c6c6f"
s2 = "61736b"

Encoding in binary:
48 65 6c 6c 6f = 01001000 01100101 01101100 01101100 01101111
61 73 6b       = 01100001 01110011 01101011

XORing the strings:
01001000 01100101 01101100 01101100 01101111
                  01100001 01110011 01101011
                  00001101 00011111 00000100

Converting the result to hex:
00001101 00011111 00000100 = 0d 1f 04

Output:
0d1f04
Run Code Online (Sandbox Code Playgroud)

因此,总而言之,我希望能够输入两个不同或相等长度的十六进制字符串(这些字符串通常是以十六进制编码的ASCII字母),并获得它们的XOR,使得每个字节分别进行异或.

python string hex encode xor

9
推荐指数
2
解决办法
2万
查看次数

XOR的数学(算术)表示

我花了最近5个小时寻找答案.即使我找到了许多答案,但他们却没有任何帮助.

我基本上寻找的是任何32位无符号整数的按位XOR运算符的数学,算术表示.

即使这听起来很简单,但没有人(至少看起来如此)设法找到这个问题的答案.

我希望我们能够集思广益,共同寻找解决方案.

谢谢.

math logic boolean algebra xor

9
推荐指数
2
解决办法
7631
查看次数

什么是异或滤波器?

有一种相对较新的数据结构 (2020),称为XOR 过滤器,它被用作布隆过滤器的替代品。

什么是异或滤波器?与布隆过滤器相比,它有哪些优势?它是如何运作的?

xor bloom-filter data-structures

9
推荐指数
1
解决办法
5509
查看次数