在Java中," |= "和" ^= "代表什么意思?

5

这是一个用于更改图像位值的函数。 |=^= 分别代表什么意思?

private int setBitValue(int n,int location,int bit)  {
    int toggle=(int)Math.pow(2,location),bv=getBitValue(n,location);
    if(bv==bit)
       return n;
    if(bv==0 && bit==1)
       n|=toggle;        // what does it do?
    else if(bv==1 && bit==0)
       n^=toggle;        // what does it do?

    return n;
}

问题与Swing无关; - ikh
4个回答

4

这是与+=相同的简写形式。

n |= toogle

相同
n = n | toogle

| 在这里是二进制或运算符,而 ^ 是二进制异或运算符。


2
它们是简写的赋值运算符。
n|=toggle;       is equivalent to           n=n|toggle;

并且。
n^=toggle;       is equivalent to           n=n^toggle;

And

| is bitwise OR    
^ is bitwise XOR

1
他们是按位或等于和按位异或等于运算符。它们主要用于处理位标志。如果您想了解更多关于按位和移位操作的知识,我强烈推荐 this article

0
这些是位运算的简写操作符。就像使用+=一样,使用|=也是一样的:
a = a | b;

请阅读有关位运算和位移操作符的Oracle文档以获取更多信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接