java 位运算
来源:互联网 发布:台风灾害数据网址 编辑:程序博客网 时间:2024/06/08 11:04
左移、右移
左移 << 低位补 0右移 >> 这是有符号右移。若值为正,则在高位插入0;若值为负,则在高位插入1。 >>> 则是无符号右移。无论正负,都在高位插入0。特点: 1、不溢出情况下,右移相当于除 2 2、不溢出情况下,左移相当于乘 2移位运算[速度]高于乘除运算
异或
两个相应位相同,则结果为0,否则为1。如下 10100001 ^ 00010001 = 10110000总结 0 异或任何数 = 任何数 0^0=0 0^1=1 1 异或任何数 = 任何数取反 1^0=1 1^1=0特点: 1、可以用来使某些特定的位翻转。 如对数 10100001 的第2位和第3位翻转,可以将数与 00000110 进行按位异或运算。 10100001 ^ 00000110 = 10100111 等价于 1010 0001 ^ 0x06 2、可以实现两个值的交换,而不必使用临时变量 a = 10100001 b = 00000110 交互 a、b 的值 a = a ^ b; // a = 10100111 b = a ^ b; // b = 10100001 a = a ^ b; // a = 00000110 3、数 a 两次异或同一个数 b(a=a^b^b)仍然为原值a.
或
两个相应位只要出现了 1 结果就为 1,否则为 0。如下 1000 0001 | 0001 1011 = 1001 1011总结 0 或任何数(target目标位) = 任何数(target目标位) 0|0=0 --> 0 或 0 (该 0 表示的上述的任何数) 为 0 0|1=1 --> 0 或 1 (该 1 表示的上述的任何数) 为 1 1 或任何数 = 1 1|0=1 1|1=1特点: 1、可以用于指定设置某几位的值为 1 如设置 1100 1010 1010 0000 的第 4、9、11 为 1 1100 1010 1010 0000 | 0000 0101 0000 1000 = 1100 1111 1010 1000
与
两个相应位都为 1 结果就为 1,否则为 0。如下 1000 0001 1001 0010 & 0001 1011 1111 1111 = 0000 0001 1001 0001总结 1 与任何数(target目标位) = 任何数(target目标位) 1|0=0 --> 1 与 0 (该 0 表示的上述的任何数) 为 0 1|1=1 --> 1 与 1 (该 1 表示的上述的任何数) 为 1 0 与任何数(target目标位) = 0 总结一句话:当且仅当 1 与 1 才为 1,否则为 0特点: 1、可以用于指定设置某几位的值为 0 如设置 1110 0100 1010 1000 的第 6、8、11 为 0 1110 0100 1010 1000 & 1011 1111 0101 1111 = 1010 0111 0101 1000
非
操作符为 ~直接上例子 0000 0000 0000 0000 1000 0001 非操作结果为 1111 1111 1111 1111 0111 1110 0000 0000 0000 0000 0001 1011 非操作结果为 1111 1111 1111 1111 1110 0100总结 一元运算符,位取反。 1 非 --> 0 0 非 --> 1
阅读全文
0 0
- Java 中的位运算
- JAVA 中的位运算
- Java 中的位运算
- Java位运算符
- 转帖 java位运算
- Java 位运算符
- Java 位运算符
- java 位运算
- Java 位运算符
- JAVA位运算
- Java 位运算符
- Java的位运算
- Java 位运算符
- Java 位运算
- java中的位运算
- java位运算
- java位运算例子
- Java 位运算符
- tcpdump非常实用的抓包实例
- 正则表达式爬取慕课网课程图片
- 关于图表的展示插件
- java.lang.NoClassDefFoundError: org/apache/taglibs/standard/tag/rt/core/UrlTag
- java配置xml报cvc-complex-type.2.3: 元素 'beans' 必须不含字符 [子级], 因为该类型的内容类型为“仅元素”
- java 位运算
- Scala 发现 $ 符号的类EL表达式
- 并发编程之synchronized
- redis -Writing to master: Unknown error异常处理
- Eclipse配置项目生成jar包到tomcat的webapps下
- avalon下拉框
- 自动化测试框架selenium+java+TestNG——TestNG详解之一
- Java 基础语法
- 【读书笔记】TCP/IP网络编程 第17章 Linux epoll