黑马程序员技术交流社区

标题: 对于异或理解不够透彻 [打印本页]

作者: nadax    时间: 2014-8-14 12:22
标题: 对于异或理解不够透彻
本帖最后由 nadax 于 2014-8-14 13:30 编辑

希望大神们给好好指点一下,我现在知道就是TRUE^TRUE=FALSE FALSE^FALSE=FALSE 还有就是同时异或一个数等于原值
作者: 碎流    时间: 2014-8-14 12:49
本帖最后由 碎流 于 2014-8-14 12:55 编辑

我好像总结的不对
作者: 男人你得有范    时间: 2014-8-14 13:18
在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:00
本帖最后由 Dongjiawei 于 2014-8-14 15:05 编辑

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




作者: 丨懒蟲灬Nigh    时间: 2014-8-14 15:02
对两个整数变量进行互换(不需要第三方变量)异或法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值大 相加超出范围)所以最好用异或法
这是自己的笔记 觉得异或这样理解可能好点  这是当时毕老师给的一个题目 你可以看完之后暂停慢慢想下
作者: 申航航    时间: 2014-8-14 15:37
异或:两边结果一样,就为false。 两边结果不一样,就为true.
作者: Ezreal    时间: 2014-8-14 16:33
来学习学习
作者: 轩辕苍穹    时间: 2014-8-14 21:19
这个确实有点晕!
作者: 亨利大帝    时间: 2014-8-14 22:17
我将我们老师举的例子偷过来给你  你就讲亦或比方成  男女谈恋爱  正常的恋爱只有男女才行,男男 女女都不行 所以这里就可以看成相同为false  不同为true
作者: _童金辉    时间: 2014-8-14 22:21
....                          
作者: 左脑想你    时间: 2014-8-15 07:38
其实是靠二进制实现的0001^1110=1111每一位上都是相同为0不同为1 然后0001^1111=1110\1110^1111=0001,而计算机最底层就是二进制每个数据在底层都是以2进制数表示的所以可以实现两次异或是其本身
作者: mysouffle    时间: 2014-8-15 09:09
&:有false则false
  |:有true则true
  ^:相同为false,不同为true。通过情侣关系来理解。
  !:非false则true,非true则false。偶数次!不改变以前的真假。
  &&:和&的结果一样,但是具有短路效果。左边有false,右边不执行。
  ||:和|的结果一样,但是具有短路效果。左边有true,右边不执行。
对于一个数异或同一个数两次,还是原来这个数,自己可以算一下,然后记住是这个原理就可以了
作者: 菜鸟一号    时间: 2014-8-15 09:22
亨利大帝 发表于 2014-8-14 22:17
我将我们老师举的例子偷过来给你  你就讲亦或比方成  男女谈恋爱  正常的恋爱只有男女才行,男男 女女都不 ...

正常恋爱为真,搞基为假;P
作者: 亨利大帝    时间: 2014-8-15 20:34
菜鸟一号 发表于 2014-8-15 09:22
正常恋爱为真,搞基为假

对咯:lol
作者: wqmsan    时间: 2014-8-15 21:27
1.逻辑符中的异或:^ 两边相同为false   两边不同为true
2.位运算符中的异或:^  对二进制进行运算。道理一样的相同为false 不同为true




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