黑马程序员技术交流社区

标题: 一个问题,求解 [打印本页]

作者: killllllllllage    时间: 2012-7-4 15:23
标题: 一个问题,求解
public class Test{
public static void main(String args []){
  System.out.println(6^3);
  }
}
输出什么?  为什么呢 好疑惑啊
作者: 王明明    时间: 2012-7-4 15:31
^ : 异或运算符 当true ^ true = false;
用6的二进制 跟3的二进制 比较
6的二进制 110
3的二进制 011
所以6^3 =101
也就是5
作者: 王健    时间: 2012-7-4 15:32
输出5,简单的位运算和异或问题,6的二进制是110,3的二进制位是011,异或后是101。  
          6--  110
          3--  011
          5--  101
作者: 蒋映辉    时间: 2012-7-4 15:39
建议楼主好好看看基础方面的知识
^是按位异或运算符  先把10进制转换为2进制  6为110,3为011 然后对于相同位  相同为0,不同为1  最后结果为101 结果为5
110
101
^101  101的十进制数是5
作者: 陈洋洋    时间: 2012-7-4 16:07
^异或相同为假,相异为真,1为真0为假由此来看
6-->110
3-->011
-----------
      101 --> 5
所以6^3为5,这个只要记住规律就好..不难..
作者: 杨朔    时间: 2012-7-4 16:39
异或是java中的位逻辑运算符,其它的位逻辑运算符还有“与& ”“或| ""~ 非".异或是一种特殊的逻辑运算,跟它相反的是同或。
异或通俗的说就是相同就是假,不同为真。




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