A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© nadax 中级黑马   /  2014-8-14 12:22  /  2513 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 nadax 于 2014-8-14 13:30 编辑

希望大神们给好好指点一下,我现在知道就是TRUE^TRUE=FALSE FALSE^FALSE=FALSE 还有就是同时异或一个数等于原值

14 个回复

倒序浏览
本帖最后由 碎流 于 2014-8-14 12:55 编辑

我好像总结的不对
回复 使用道具 举报
在java程序里面的异或用法:
相同输出0,不同输出1,例如:
System.out.println(1^1); 输出0
System.out.println(1^2);输出3,因为最后2个低位都不一样,所有输出3

异域的概念是相同为0不同为1.如果两个数值异或后的值相同,异或前可能不同。
比如二进制:0010^0001=0011 而0000^0011=0011。 异或要慎用。
回复 使用道具 举报
本帖最后由 Dongjiawei 于 2014-8-14 15:05 编辑

&: 与:只有两边都为true结果是true。否则就是false。
|: 或:只要两边都为false结果是false,否则就是true。
^: 异或:和或有点不一样。
             两边结果一样,就为false。
             两边结果不一样,就为true.
一个数异或另一个数两次还是原来那个数
例:7^2 ^2 =7
毕老师的基础视频第2天022逻辑运算符,回去再仔细看看,上面说的很清楚。一遍看不懂就倒回去重新看,看到看懂为止。



回复 使用道具 举报
对两个整数变量进行互换(不需要第三方变量)异或法A=A^B  B=A^B       B=A^B A=A^B
相加再减法A=A+B B=A-B B=A+B A=B-A(可能会造成丢失精度比如 A B值大 相加超出范围)所以最好用异或法
这是自己的笔记 觉得异或这样理解可能好点  这是当时毕老师给的一个题目 你可以看完之后暂停慢慢想下
回复 使用道具 举报
异或:两边结果一样,就为false。 两边结果不一样,就为true.
回复 使用道具 举报
Ezreal 中级黑马 2014-8-14 16:33:19
7#
来学习学习
回复 使用道具 举报
这个确实有点晕!
回复 使用道具 举报
我将我们老师举的例子偷过来给你  你就讲亦或比方成  男女谈恋爱  正常的恋爱只有男女才行,男男 女女都不行 所以这里就可以看成相同为false  不同为true
回复 使用道具 举报
....                          
回复 使用道具 举报
其实是靠二进制实现的0001^1110=1111每一位上都是相同为0不同为1 然后0001^1111=1110\1110^1111=0001,而计算机最底层就是二进制每个数据在底层都是以2进制数表示的所以可以实现两次异或是其本身
回复 使用道具 举报
&:有false则false
  |:有true则true
  ^:相同为false,不同为true。通过情侣关系来理解。
  !:非false则true,非true则false。偶数次!不改变以前的真假。
  &&:和&的结果一样,但是具有短路效果。左边有false,右边不执行。
  ||:和|的结果一样,但是具有短路效果。左边有true,右边不执行。
对于一个数异或同一个数两次,还是原来这个数,自己可以算一下,然后记住是这个原理就可以了
回复 使用道具 举报
亨利大帝 发表于 2014-8-14 22:17
我将我们老师举的例子偷过来给你  你就讲亦或比方成  男女谈恋爱  正常的恋爱只有男女才行,男男 女女都不 ...

正常恋爱为真,搞基为假;P
回复 使用道具 举报
菜鸟一号 发表于 2014-8-15 09:22
正常恋爱为真,搞基为假

对咯:lol
回复 使用道具 举报
1.逻辑符中的异或:^ 两边相同为false   两边不同为true
2.位运算符中的异或:^  对二进制进行运算。道理一样的相同为false 不同为true
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马