C#位异或 ^ 如何计算?1^3=2;1^1=0;0^2=2;0^0=0;2^3=1;2^2=0;2^0=2;3^5=6;3^1=2;3^2=1;3^4=7;3^5=6;3^6=5;3^7=4;3^8=11; 数学
网友回答
【答案】 异或是用二进制看的,比如1的二进制01,3的二进制11,1^3=01^11=10=2,也就是两个数对应位上数字相同的就变成0,数字不同的就变成1.
因为除去有值得为,不管是64位、32位、16位还是8位数,不管使用的是什么码表示,除去用来表示数值得部分都是0或者1,对于两个符号相同的数字异或运算,其二进制的高位必然是一样的,所以必然都是0,也就是正数,所以你只看低位就行了.
3^8=0011^1000=1011=11 追问: 1011怎么计算的11的呢?求解 追答: 这是二进制数,逢2进1,十进制与二进制对应如下: 01 0001 02 0010 03 0011 04 0100 05 0101 06 0110 07 0111 08 1000 09 1001 10 1010 11 1011 ................ 我以前用这个东西比较多,所以15以下都记得。你不记得可以用计算器转一下,调成10进制,输入一个数字,然后选择二进制,就能看到对应的二进制数了。