来源:北大青鸟飞迅校区|发布时间:2013-04-28 15:47:12
学了这么久的java,一直以来对这些位运算符的操作概念都是比较模糊的,这几天通过think java的第三章知识,终于理解java的位运算符的操作原理:
位运算符
按位与(&):如果两个输入位都是1,则生成一个输出位1,否则是0
按位或(|):如果两个输入位里面只要有一个是1,则生成一个输出位1;只有两个输出位都是0,才生成0
按位异或(^):如果两个输入位不全是1或者0,即只要不相同,则产生输出位1;相同则生成0
按位取反(~):取反运算
移位操作运算符,运算对象是二进制的“位”
按位左移(<<):将操作符左边的运算对象向左移动右侧指定的位数,低位补0
按位右移(>>):“有符号”右移位运算符(>>)则将运算符左边的运算对象向右移动运算符右侧指定的位数。“有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。
无符号右移(>>>) :将运算符左边的运算对象向右移动运算符右侧指定的位数,它使用了“零扩展”:无论正负,都在高位插入0.这一运算符是C或C++没有的。
上面这些位此操作符都可以和=结合使用,意思把得到的结果再付给左边的变量。
招生热线: 4008-0731-86 / 0731-82186801
学校地址: 长沙市天心区团结路6号
Copyright © 2006 | 湖南大计信息科技有限公司 版权所有
湘ICP备14017520号-3