我正在尝试异或两个值,如下所示:
变量 1:6463334891 变量 2:1000212390
当我在 php 中对这些值进行异或时,它给了我错误的答案。
它应该给我“7426059853”
这是我的代码
$numericValue = (int)$numericValue;
$privateKey = (int)$privateKey;
echo "Type of variable 1 ".gettype($numericValue)."<br />";
echo "Type of variable 2 ".gettype($privateKey)."<br />";
$xor_val = (int)$numericValue ^ (int)$privateKey;
echo "XOR Value :".$xor_val."<br />";
Run Code Online (Sandbox Code Playgroud) 我正在尝试获取一个应用程序XOR两个十六进制值并输出结果作为十进制值.
我在互联网上搜索了一个答案,但每个结果只会给出一个真或假的结果.
我用的例子是
Run Code Online (Sandbox Code Playgroud)Value 1 = 0F8F Value 2 = FB8E expect result = 62465
我该怎么办?
输出是9,我无法理解整个按位XOR概念.
public class XOR {
public static void main( String[] args ) {
int a = 12;
int b = 5;
int c = a ^ b;
System.out.print( c );
}
}
Run Code Online (Sandbox Code Playgroud) 运算符是^用来做什么的?它不适用于幂函数:
#include <iostream>
int main(){
int x, y;
cout << (x^y) << endl; /* this is the unkown (X^Y)*/
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我有两个数组:
a = [0,1,0,1,0,1,0,1]
b = [1,0,1,0,1,0,1,0]
Run Code Online (Sandbox Code Playgroud)
确定每个元素是否是另一个元素的逆(补)的最快方法是什么?
因此,为了清楚起见,上述内容将返回 True
但对于这些数组:
a = [1,1,0,1,0,1,0,1]
b = [1,0,1,0,1,0,1,0]
Run Code Online (Sandbox Code Playgroud)
它会回来 False
我认为这个问题很清楚,但要了解更多详细信息:
“最快”是指速度最快(以秒为单位)
数组不限于长度为 8,但数组中的元素数量将相同
元素将始终是0或1
我期望偶数个非补数组和补数组
可能重复:
'^'在c#(枚举)中做了什么?
这可能是一个愚蠢的问题但是......我没有看到Xor在C++或C#中的含义.我认为它可能意味着和/或如果确实如此,我很聪明,因为这是一个盲目的猜测= D. 我现在使用C#,但我很确定xor意味着同样的事情.问题是 - 我不知道xor意味着什么.我知道xor由^表示.我也想知道^^的意思.
我想说的是自学.
我们有两个整数.我想得到第三个元素,它等于两个整数之间的XOR,但是有约束.好的,让我举一个例子来说明一点.
int x is, let's say, is 10 `x = 10 //Binary 1010` and `int y = 9 //Binary 1001`
int t = x^y, where ^ is an operator that is defined as described below.
Run Code Online (Sandbox Code Playgroud)
但第一比特在x应的第二位进行异或运算y,并被存储为第一比特t和第二比特x进行异或运算与y中的第一位,并存储在吨等所述第二位.
结果应该是:
t = x^y = 1100
Run Code Online (Sandbox Code Playgroud)
我希望你能理解这个问题.如果没有,我会尽力澄清.
哪种方式更快,资源更少:
boolean = !boolean
boolean ^= boolean
Run Code Online (Sandbox Code Playgroud)
编辑:这不是一个基于意见的问题.有一个正确的答案.