Java 在C++语言中,(a(1)< b)实际上是什么?

Java 在C++语言中,(a(1)< b)实际上是什么?,java,c++,c,bit-manipulation,bitwise-operators,Java,C++,C,Bit Manipulation,Bitwise Operators,我在看这个函数 int func(int a, int b){ return (a ^ (1 << b)); } 到底发生了什么?我知道它基本上是说,一个XOR 2^b,也就是说,一个XOR 2到b的幂。但除此之外,实际发生了什么,为什么?我想我在这个公式中寻找某种模式 此特定表达式切换a的第b位 这可能是有用的,例如,如果你想把你的int作为布尔数组或者位掩码,并且否定位置B的入口,那么,如果你问C++问题,为什么要包含一个java标签?为什么不编写其余的代码并使用调试

我在看这个函数

int func(int a, int b){
    return (a ^ (1 << b)); 
}

到底发生了什么?我知道它基本上是说,一个XOR 2^b,也就是说,一个XOR 2到b的幂。但除此之外,实际发生了什么,为什么?我想我在这个公式中寻找某种模式

此特定表达式切换a的第b位


<>这可能是有用的,例如,如果你想把你的int作为布尔数组或者位掩码,并且否定位置B的入口,那么,如果你问C++问题,为什么要包含一个java标签?为什么不编写其余的代码并使用调试器运行程序,这样您就可以看到发生了什么?因为这只是基本的位操作,它可以在Java、C等语言中工作。我试过一些测试,但我看不到其中的模式。你是什么意思,除此之外,实际发生了什么??它将xor 2计算为b的幂。。。就这些了。我知道A+B/5计算一个加到B除以5,但是超出了实际发生的原因和为什么?考虑这个,1我猜一个后续问题,为什么这会有用?对于天才的一些定义。。正如你所说,这是一个基本的位操作。对,但你很快就发现了发生的事情。我做了一个for循环,用二进制和10进制打印出结果,然后盯着它看了一会儿,看不到我脸上的表情。但这必须有真正的用途。有什么想法吗?FWWW,@ SOMSOROTFIGER,在C++中这样做的更简单的方法是STD::BITSET,在那里你可以去某个BIT集。