C# 对数值进行与,或,异或操作的学习理解

            //&符号是and,与,一个为0都是0,全部为1才是1
            //1&1=1,1&0=0,1与任何数都是任何数
            //0&1=0,0&0=0,0与任何数都是0
            var num1 = 0b_1010_1010_1010;
            var num2 = 0b_1111_0000; //保留num1二进制中4-7位
            Console.WriteLine(Convert.ToString(num1 & num2, 2)); //0b_1010_0000
            //|符号是or,或,一个为1即为1,全部为0才是0
            //1|1=1,1|0=1,1或任何数都是1
            //0|1=1,0|0=0,0或任何数都是任何数 
            num1 = 0b_1010_1010;
            num2 = 0b_0101;
            num1 <<= 4; //左移4位,变成0b_1010_1010_0000
            //将num2附加到num1低位上
            Console.WriteLine(Convert.ToString(num1 | num2, 2));  //0b_1010_1010_0101
            //^符号是xor,异或,两者不相等为1,相等则为0
            //1^1=0,1^0=1,1异或任何数都是不是任何数
            //0^1=1,0^0=0,0异或任何数都是任何数
            //只用它进行过异或检验
            //0b_1010_1010_0000
            //0b_0101
            Console.WriteLine(Convert.ToString(num1 ^ num2, 2));  //0b_1010_1010_0101

 

posted @ 2024-01-23 11:49  WmW  阅读(81)  评论(0编辑  收藏  举报