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;

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 00:28:28

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;
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;

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