关于java的位运算(<<、>>、<<<、&、|、^、~)
2012-09-26 14:29
274 查看
几个位运算的操作解释:
<< :左(箭头的方向)移,移除的高位舍弃,低位补零 。
>> :右(箭头的方向)移,低位移除的舍弃,高位补进符号位(如果是正数的话补0,负数的话补1 )。
>>>:和上一个一样的右移,只是该操作无论符号位怎样,高位均补零 。
& :将两个数按位进行 且操作 。
| :将两个数按位进行或操作。
^ :将两个数按位做异或运算。
~ :对于操作数每位都取反操作 。
对于位操作,均指该数字的原码进行操作,整数的原码是它本身,负数的原码是其对应整数的原码取反然后+1 。
例如:
15 的原码: 00000000 00000000 00000000 00001111
-15 :
15的原码取反:
11111111 11111111 11111111 11110000
然后+1 :
11111111 11111111 11111111 11110001 .
<< :左(箭头的方向)移,移除的高位舍弃,低位补零 。
>> :右(箭头的方向)移,低位移除的舍弃,高位补进符号位(如果是正数的话补0,负数的话补1 )。
>>>:和上一个一样的右移,只是该操作无论符号位怎样,高位均补零 。
& :将两个数按位进行 且操作 。
| :将两个数按位进行或操作。
^ :将两个数按位做异或运算。
~ :对于操作数每位都取反操作 。
对于位操作,均指该数字的原码进行操作,整数的原码是它本身,负数的原码是其对应整数的原码取反然后+1 。
例如:
15 的原码: 00000000 00000000 00000000 00001111
-15 :
15的原码取反:
11111111 11111111 11111111 11110000
然后+1 :
11111111 11111111 11111111 11110001 .
相关文章推荐
- 关于java中<T>问题
- 关于在freemarker模板中遍历数据模型List<JavaBean>的经验
- 关于java中<T>问题
- 关于位运算 & | << >> ^ ~ %
- 黑马程序员_关于黑马java班入学测试技术分享<前5题>(一)
- Java 位运算 (>> << >>> & | ^ ~ )
- 关于JAVA中JNI的应用 <转>
- 关于JAVA 位运算“<<” ">>"
- 关于java线程池<一>
- java工具箱---最新更新(关于<a:support />放在某个标签中不可用)
- 【小熊刷题】Binary Search Tree Iteration <Leetcode 179, Java>
- redis3.0.7连接 <java>
- java初学笔记之<Random详解>
- 链表问题之无头单链表删节点<Java实现>
- JAVA设计模式(12) —<结构型>享元模式(Flyweight)
- <java基础>零起点学Android(五)之应用窗口
- java List<Long[]> 截取
- 关于jsp中<input type="file">获取路径问文件名,获取完全路径问题
- java_web初学笔记之<java的反射机制>
- <蓝牙BLE>关于cc2540Flash断电保存的操作