位与运算符的使用
位与运算符的运用和区别
1.&(与运算符)
都是1则返回1 反之则为0
【位与运算符的使用】二进制转为十进制1
0001 1011 => 27
0101 0101 => 85
27 & 85=> 0001 0001 =>16+1=
17
2.|(或运算符)
两边都是0则返回0 其他情况则是1
0001 1011 => 27
0101 0101 => 85
27 | 85 => 0101 1111=>1+2+4+8+16+64=>
95
3.~(非运算符)
0000 0000 0000 0000 0000 0000 0000 0011-> 3
1111 1111 1111 1111 1111 1111 1111 1100-> ~ 3 = -4
4.^(非运算符)
^(亦或)当运算符两边相同位置都是相同,结果返回0,不相同时返回1。
1)、判断奇偶数
我们可以利用 & 运算符的特性,来判断二进制数第一位是0还是1。用if ((a & 1) == 0) 代替 if (a % 2 == 0)来判断a是不是偶数。
2、交换两个数
a ^= b;
b ^= a;
a ^= b;
3、取余数 比如说我们要让a对16进行取余,那么就可以让 a & 15 得出来的结果就是余数。
4其他简单应用
- 求相反数:
~a + 1
- 求绝对值:
a >> 31 == 0 ? a : (~a + 1)
JavaScript JS中的逻辑位运算符和移位运算符
Java中的移位运算符
- ? ?
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 2018-02-06第三天|2018-02-06第三天 不能再了,反思到位就差改变
- Docker应用:容器间通信与Mariadb数据库主从复制
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 第326天
- Shell-Bash变量与运算符
- 每日一话(49)——一位清华教授在朋友圈给大学生的9条建议
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 发小的串门
- 逻辑回归的理解与python示例