java中的^表示啥

java中的 | ^ & 分别是什么?有什么用?怎么用?~

|是按位或
^是按位抑或
&是按位与

比如有两个数
int x = 5;
int y = 11;

System.out.println(x|y);
System.out.println(x&y);
System.out.println(x^y);

结果是15, 1 ,14
过程
x=5 (0101二进制)
y=11(1011二进制)
x|y = 1111 = 15
x&y = 0001 = 1
x^y = 1110 =14

这些操作一般用到的不多,只有在需要对数字的位进行操作的时候才用到,希望能够帮助你

java的异或运算符。

使异或表达式为true的条件是:有且仅有一个操作为true;
其他情况都为false;
a^b

^是异或运算符(把数据转换成二进制,然后按位进行运算)。
运算规则:0^0 = 0, 1^0 = 1,  0^1 = 1,  1^1 = 0,运算对象相同为0,不同为1.
如:3^5 的运算过程为:
    (1)先将3和5转换成二进制的11和101
    (2)再按对应的位分别进行运算,11位数不足补零
           011
       ^   101
      -----------
           110
     (3)运算结果转换成10进制:6

异或运算的三个个特点:
    (1) 0^0=0,   0^1=1   0与任何数异或=任何数
    (2) 1^0=1,   1^1=0   1与任何数异或 =任何数取反
    (3) 任何数异或自己=把自己置0
    
异或运算的常见用途:
    (1) 使某些特定的位翻转
    例如对数10100001的第2位和第3位翻转,其他位不变,则可以将该数与00000110进行按位异或运算。
    10100001^00000110 = 10100111
    (2) 实现两个值的交换,而不必使用临时变量。
    例如交换两个整数a=10100001,b=00000110的值,可通过下列语句实现:
a = a^b;   //a=10100111
b = b^a;   //b=10100001
a = a^b;   //a=00000110
    (3) 在汇编语言中经常用于将变量置零:
            xor   a,a
    (4) 快速判断两个值是否相等
            判断两个整数a,b是否相等,则可通过下列语句实现:
            return ((a ^ b) == 0)


很好理解
比如:
1^0=0;
0^0=1;
也就是说对同一个字符进行两次异或运算就会回到原来的值。

你好!那是“异或运算符”,就是说相异为1,相同为0,比如:1 ^ 1 = 0;1 ^ 0 = 1;0 ^ 0 =0

按位异或运算符
两个操作数中,如果两个相应位相同,则结果为0,否则为1
即:
0^0=0,
1^0=1,
0^1=1,
1^1=0
例如:
00101010^00010111=00111101
1)如果需使用一个整数的某些特定的位翻转,可使用另一个
相应位为1的操作数与原来的整数进行按位异或操作实现。
下面的例子对整数变量
ii的第四位翻转
int
revertFouth=ii^8;
其余位则没有变化
2)通过按位异或运算可以实现两个值的交换。而不使用临
时变量。例如交换两个整数a,b的值可通过下列语句实现:
int
a=15,b=24;
//a的最右边8位为00001111,b的最右边8位为00011000
//a和b其余位为0,下同
a=a^b;
//a的最右边8位为00010111,a=23
b=b^a;
//b的最右边8位为00001111,b=15
a=a^b;
//a的最右边8位为00011000,a=24
*位逻辑运算表达式返回两个操作数中数据长度较长的数据
类型
其中较小的左侧将被填满,若为整数,则填满0,
若为负数,则左侧填满1
首先复习一下异或运算(^)的性质:它满足交换律、结合律。
此处有一个经典的运用:现在有一万(1-10000)的个数
,从中拿掉
一个数,问怎么才能找出拿掉的数


最初的数组是
A,
拿掉
x
之后的数组是
B,
xor()
是对数组内所有元素做异或,则有:
xor(A)
==
xor(B)
^
x
Fake代码
xor(A)
==
xor(B)
^
x
Fake代码
xor(A)
==
xor(B)
^
x
xor(A)
==
xor(B)
^
x
所以:
xor(B)
^
xor(A)
==
xor(B)
^
xor(B)
^
x
==
0
^
x
==
x
Fake代码
xor(B)
^
xor(A)
==
xor(B)
^
xor(B)
^
x
==
0
^
x
==
x
Fake代码
xor(B)
^
xor(A)
==
xor(B)
^
xor(B)
^
x
==
0
^
x
==
x
xor(B)
^
xor(A)
==
xor(B)
^
xor(B)
^
x
==
0
^
x
==
x
结论:
A

B
两个数组共
19999
个数,全部用来做异或,结果就是去掉的那个数
x。
(注:设
A
=
{a1,
a2,
a3,
....
a10000},

array_xor(A)
=
a1
^
a2
^
a3
^
...
^
a10000


java:^ 的意思?
答:Java中的位运算符!用来做按位异或运算的。异或指的是相同位值相同异或结果为0,相同位异或值不同结果为1。例如:int i = 2^3;首先需要将数字转换成二进制数,然后进行运算。2的二进制数是10 3是11 10 11 ^ --- 01 所以,i中的结果是数字1。

java中的^是什么?
答:异或,对boolean型是逻辑异或,对整型是按位异或 相同为FALSE(0),不同为TRUE(1)

java 中^什么意思?h ^= (h >>> 20) ^ (h >>> 12);
答:异或,就是转化为二进制后相对位比较相同的为0不同的为1 h = h异或(h >>> 20)异或(h >>> 12)>>> 是转化为二进制右移位,空出来的补0

JAVA中的&&和^是什么?
答:JAVA中的&&是逻辑运算符,表示“逻辑与(and)”;JAVA中的^是运算符中的一种,表示“异或(XOR)”,对两个整型操作数中对应位执行布尔代数,两个位相等0,不等1。

^在java中是什么意思
答:异或运算,按二进制位对齐,相同为假,相异为真

^这个符号在JAVA中是什么意思
答:异或运算,就是按二进制位对齐,相同为假,相异为真,比如:0101 1100 --- 1001

JAVA编程中的运算符“^”是什么意思?
答:异或。。。0^0=0;1^1=0;0^1=1;1^0=1

Java的运算符"^"是怎么回事
答:位逻辑运算符 包括:& 与;| 或;~ 非(也叫做求反);^ 异或 应该是 int a1='1';int secret='8';a1=(char)(a1^secret);System.out.println(a1);结果9

在java中 ^ 和 | 分别是什么意思啊
答:“^”表示异或 。“|” 表示非简洁或,它与“||“的区别是:“||”的前面的表达式为true时就不执行后面的语句了,而“|”不管前面是true还是false后面都要执行

Java 中'^'的作用
答:^为按位异或。例如 二进制(1001) ^ 二进制(1111) = 二进制(0110)这里是将a[i]与'w'都看做二进制字节,用异或的方式来加密。这样一般人简单看密文是看不出原文是什么的。解密的话,需要再次用'w'来进行异或,方法与加密时相同,这里'w'就可以看做是密钥。

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网