发布网友 发布时间:2022-04-21 04:45
共4个回答
热心网友 时间:2022-06-18 01:26
异或运算(^)都以二进制数据为基础进行的运算。也就是说当代码中使用到异或运算时,都会先将两个条件进行转换,转换成二进制数据后,再进行运算。异域中同位如果值相同(都是0或者都是1)则为0,不同(一个是0,一个是1)为1。热心网友 时间:2022-06-18 01:26
因为你举得例子数字比较小,我们假设你说的50,60都是byte类型,java的byte用8位二进制来表示。50=00110010,60=00111100,异或是属于位运算符,还有&(或),|(非),~(非)运算符,理论上还有12种,离散数学里会有。其中异或就是将两个操作数按位进行异或操作,规则是1^0=1,0^1=1,0^0=0,1^1=0;所以00110010^00111100=00001110,转换成十进制就是14,所以i^j=14。然后执行赋值操作,所以i=14。热心网友 时间:2022-06-18 01:27
先把i和j的真值转换为补码,即:i=0011热心网友 时间:2022-06-18 01:27
异或这些位运算都是针对二进制的。