黑马程序员技术交流社区

标题: Java学习中的一点总结——位运算 [打印本页]

作者: Android周    时间: 2014-12-16 23:48
标题: Java学习中的一点总结——位运算
        位运算符
任何信息在计算机中都是以二进制的形式保存的,&、|、^除了可以作为逻辑运算符,也可以做为位算符。
它们对两个操作数中的每一个二进制位都进行运算,0当做false,1当做true。

&        将两个二进制数每一位进行与运算,两边都为1结果才为1,只要有一边是0,结果就为0。
|        将两个二进制数每一位进行或运算,两边都为0结果才为0,只要有一边是1,结果就为1。
^        将两个二进制数每一位进行异或运算,只要两边不同结果就为1,相同则为0。

我们可以对数据按二进制位进行移位操作,java的移位运算符有三种:

<<                左移                        将二进制的每一位向左移,低位补0。左移几位就相当于乘以2的几次方。
>>                右移                        将二进制的每一位向右移,原来高位是0就补0,原来高位是1就补1。右移几位就相当于除以2的几次方。
>>>                无无符号右移        将二进制的每一位向右移,高位补0。正数移动没区别,负数移动后变为正数。

作者: 小马范    时间: 2014-12-17 08:55
位运算还会提高乘除算法的效率呢啊
作者: dandan520    时间: 2014-12-17 09:14
位运算了解一点点




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2