C#位运算

//C#位运算
//位运算就是将程序中的内容在计算中按照二进制进行运算
//1.位逻辑非运算符(“~”):将一个运算对象转换成位二进制,再将”1”变成”0”,”0”变成”1”,整合成一个新的二进制数输出
//例如:~25 “25”二进制数为11001, “~25”非运算后为00110
//2.位逻辑与运算(“&”):将两个运算对象先转换成二进制进行运算,计算过程中将”1”与”1”等于”1”,”1”与”0”等于”0”,”0”与”0”等于”0”。最后再将计算结果输出。
//例如:52&25 “52”二进制数为110100,”25”二进制数为011001,”52&25”与运算后为010000
//3.位逻辑或运算(“|”):将两个运算对象先转换成二进制进行运算,计算过程中将”1”与”1”等于”1”,”1”与”0”等于”1”,”0”与”0”等于”0”。最后再将计算结果输出。
//例如:52|25 “52”二进制数为110100,”25”二进制数为011001,”52|25”与运算后为111101
//4.位运算异或运算(“^”):将两个运算对象先转换成二进制进行运算,计算过程中将”1”与”1”等于”0”,”1”与”0”等于”1”,”0”与”0”等于”0”。最后再将计算结果输出。
//例如:52^25 “52”二进制数为110100,”25”二进制数为011001,”52^25”与运算后为101101
//5.位左移运算(“<<”):位左移运算将整个数按位左移若干位,左移后空出的部分0
//例如:8位byte数据类型变量 byte a=25;a<<3;”25”二进制数为00011001,”a<<3”与运算后为11001000
//6.位右移运算(“>>”):位左移运算将整个数按位右移若干位,左移后空出的部分0
////例如:8位byte数据类型变量 byte a=25;a>>3;”25”二进制数为00011001,”a>>3”与运算后为00000011
//备注:1.在介绍C#位运算,运算过程中使用的都是相同的数字,转换成二进制,可以通过相互间的比较观察不同位运算之间不同点。
// 2.在位运算过程中如果两个运算对象数据类型相同,最终运算结果也是和对象数据类型一样;如果不一样,需要进行数据之间的类型转换,数据类型转换规则与算术中整型转换规则相同。

猜你喜欢

转载自blog.csdn.net/qq_42016542/article/details/81455814
今日推荐