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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

大家还记得异或是怎么用的吗?

11 个回复

倒序浏览
位运算符  异或就是 不同则为trrue  既true^false   或false^true  结果都为true   其他为false
回复 使用道具 举报
汪方玉 来自手机 中级黑马 2016-9-14 13:13:42
藤椅
不同为true,相同为false
回复 使用道具 举报
将数据转成二进制,进行位异或运算,相同为false,不同为true,
有一个点可以记,一个数异或两次其他数等于它本身
回复 使用道具 举报
记住一句话就行,男女之间是真爱!!               ——用时,想想这句话就会用了
回复 使用道具 举报
只要两个条件同时为真或假,其结果都为假(这里要注意区别Java的与运算---其为真真为真,假假为假);
但仅当两条件中一个为真,另一个为假时,结果为真(感觉有点叛逆哦?不合常理,不走寻常路)。
但Java的异或运算还有一个前提那就是它都是以二进制数据为基础进行的运算。也就是说当我们在使用代码中使用到异或运算时,它都会先将两个条件进行转换,转换成二进制数据后,再进行运算,
例如:
int a = 4^6;
这里的4和6 都是int型数据,在进行运算时,4对应的二进制数为:100(0100);6对应的是:110(0110),
这样实际的运算方程是:
int a = 0100^0110;
此时再来看:
0<-->0=0;
1<-->1=0;
0<-->1=1;
0<-->0=0;
这样运算的结果就是:0010(这是二进制的数据),对应转换成十进制就是2.
    这就是Java里面对于异或运算的内部运算机制。
回复 使用道具 举报
383412263 发表于 2016-9-14 15:44
只要两个条件同时为真或假,其结果都为假(这里要注意区别Java的与运算---其为真真为真,假假为假);
但仅 ...

感觉越看越晕了,同学,能不能写简单点。。。。
回复 使用道具 举报
本帖最后由 jinxiliuhuo 于 2020-11-22 17:13 编辑

............
回复 使用道具 举报
异或就是俩逻辑相同则为true,不同,就为false
回复 使用道具 举报
布尔型的两个数抑或的话,只有不同时为真,同true或者同false为假,
数字间异或运算时,就是两个数通过二进制运算下,可以画下图看一下,只有1,0为真1,然后出结果
回复 使用道具 举报
异或方法名字就听明白的   异就是不同嘛   不同的活在一起就是对的了
回复 使用道具 举报
一男一女在一起才是社会公认的, 男男或者女女 那是会被社会歧视的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马