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

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;
e_001 1年前 已收到1个回答 举报

晓侬说 幼苗

共回答了14个问题采纳率:92.9% 举报

异或是用二进制看的,比如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

1年前 追问

5

e_001 举报

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进制,输入一个数字,然后选择二进制,就能看到对应的二进制数了。
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.030 s. - webmaster@yulucn.com