草庐IT

bitwise_xor

全部标签

c++ - SIMD XOR 运算不如 Integer XOR 有效?

我的任务是计算数组中字节的异或和:X=char1XORchar2XORchar3...charN;我正在尝试将其并行化,改为对__m128进行异或运算。这应该提供加速因子4。另外,要重新检查我使用int的算法。这应该提供加速因子4。测试程序有100行长,我不能再短了,但是很简单:#include"xmmintrin.h"//simulationoftheSSEinstruction#include#includeusingnamespacestd;#include//randconstintNIter=100;constintN=40000000;//matrixsize.Hastob

java - 为什么用 xor 交换在 C++ 中工作正常,但在 Java 中却不行?一些难题

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Whyisthisstatementnotworkinginjavax^=y^=x^=y;示例代码inta=3;intb=4;a^=(b^=(a^=b));在C++中它交换变量,但在Java中我们得到a=0,b=4为什么?

c++ - 不清楚Bitwise AND赋值的使用

最近我在看一些人的C++项目,并试图找出他的项目的一些工作原理。我不太清楚按位与赋值运算符的使用。我不能问他,所以我想也许这里有人可以帮助我...有一个“unsignedintX=0;”变量,它在while循环中总是递增“1”。while(...){...somecode...X++;X&=(1024-1);}我真的不明白“&=”的用法,这种用法的目的是什么?谢谢。 最佳答案 &=和++合起来等于X=(X+1)%1024;但可以由CPU更快地计算。1024-1是1111111111在二进制中,所以对于X的数字,按位AND将无效(因为

c++ - == 比按位 AND、XOR 和 OR 具有更高优先级的理由是什么?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。在C++中,==和!=的优先级高于按位AND、XOR和OR的基本原理是什么?在我看来,operator==和operator!=放在operator&之后更自然,operator^和运算符|。我想了解动机,以便更好地记住顺序。例如,我认为以下类型的用法很常见:if(bitFields&value==0){//Incorrecttest.//DoSomet

c++ - C/C++ : is it faster to assign a 0 to an unsigned long variable or to xor the variable with itself?

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。我意识到差异可以忽略不计,但在尝试将unsignedlong清零时哪个更有效?unsignedlongx;...x=0;--OR--x^=x;泰勒

c++ - C 或 C++ 标准库中是否有逻辑( bool )XOR 函数?

这个问题在这里已经有了答案:LogicalXORoperatorinC++?(11个答案)关闭8年前。我没有找到,但很难相信没有。

c++ - 为什么 swap 在 C++ 中不使用 Xor 操作

我了解到异或运算可以用来实现有效的交换功能。像这样:templatevoidswap(T&a,T&b){a=a^b;b=a^b;a=a^b;}但是我在网上能找到的swap实现基本上是这样的:templatevoidswap(T&a,T&b){Ttemp(a);a=b;b=temp;}编译器似乎没有为上面的两种形式生成相同的代码,因为我在VC++2010上对其进行了测试,第一个比std::swap更快地完成了工作。第一个有便携性或任何其他问题吗?请随时纠正我的任何错误,因为我不是英语母语,也不擅长C++。(编者注:测试可能是使用未优化的调试版本完成的,而不是std::swap可以内联的发

c++ - 为什么将 xor 与文字而不是反转一起使用(按位不是)

我接触过thisCRC32code,很好奇作者为什么会选择使用crc=crc^~0U;代替crc=~crc;据我所知,它们是等价的。我什至在VisualStudio2010中反汇编了这两个版本。未优化构建:crc=crc^~0U;009D13F4moveax,dwordptr[crc]009D13F7xoreax,0FFFFFFFFh009D13FAmovdwordptr[crc],eaxcrc=~crc;011C13F4moveax,dwordptr[crc]011C13F7noteax011C13F9movdwordptr[crc],eax我也无法通过考虑每条指令所花费的周期数来证

bitwise-operators - Kotlin 等价于按位或赋值 '|=' 是什么?

如何用Kotlin编写代码:flags|=newFlag只有我发现的是:flags=flagsornewFlag是否有内置的按位或运算符进行赋值? 最佳答案 没有内置的按位或赋值operator在Kotlin中(还)。 关于bitwise-operators-Kotlin等价于按位或赋值'|='是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/23634970/

bitwise-operators - Kotlin 等价于按位或赋值 '|=' 是什么?

如何用Kotlin编写代码:flags|=newFlag只有我发现的是:flags=flagsornewFlag是否有内置的按位或运算符进行赋值? 最佳答案 没有内置的按位或赋值operator在Kotlin中(还)。 关于bitwise-operators-Kotlin等价于按位或赋值'|='是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/23634970/