位运算
来源:互联网 发布:全球销售网络 编辑:程序博客网 时间:2024/06/13 23:44
位运算是对整数在内存中的二进制位进行运算
主要有以下几种:
1、按位与(&): 相同位的两个数都为1结果为1,只要有一个是0,结果就为0;
2、按位或(|): 相同位的两个数只要有一个为1,结果就为1;
3、按位取反(~): 把0、1全部取反,0变成1,1变成0
4、按位异或(^): 相同位的两个数相同(即都为1或都为0),结果为0,两个数不同,结果为1
5、左移(<<):左移n位即在这个二进制数后加n个0,在二进制数后加一个0 相当于乘以2,因此,左移n位,相当于乘以2 的n次方
6、右移(>>):右移n位即把这个二进制数的后n位删掉,相当于除以2的n次方
使用技巧:
1、指定位清零:eg.把a的第i位清零--------> 把1左移i位,取反,再和a进行按位与
2、指定位置1:eg.把a的第i位设为1---------->把1左移i位,再和a进行按位或
3、指定位取反:eg.把a的第i位取反------------>把1左移i位,再和a进行按位异或
4、获取指定位的值:eg.获取a的第i位-------->把1左移i位,再和a进行按位与
5、交换两个数:eg.不引入临时变量的前提下交换两个数---------->a = a^b b = a^b (相当于b异或了两次,只留下了a) a = a^b(相当于a异或了两次,只留下了b)
6、奇偶性判断:eg.判断a是否为奇数--------->a和1进行按位与,获取到的是最后一位,最后一位为1,就是奇数,最后一位位0就是偶数
0 0
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- 位运算
- Error running Tomcat8: Address localhost:1099 is already in use
- 跟我学REDIS-REDIS(二)----常用数据类型之string
- PostgreSQL ./configure问题
- 时间序列分析
- JSP原理和语法
- 位运算
- iOS推送证书从申请到使用
- 虎哥带你学自定义View(二)
- 关于lua的#
- (2.2.6.2)构建工具Ant(一)—入门
- jsp页面中的EL表达式不被解析的问题
- Java集合(2)——深入理解ArrayList、Vector和LinkedList
- 滑动窗口的最大值
- CentOS 7如何在启动时让网卡连接自动启用