[英]What does (a ^ (1 << b)) actually do, in a language like C++?
我正在看這個功能,
int func(int a, int b){
return (a ^ (1 << b));
}
究竟發生了什么? 我知道它基本上是在說“a XOR (2^b)”,即 b 的冪的異或 2。 但除此之外,實際發生了什么,為什么? 我想我正在這個公式中尋找某種模式。
這個特殊的表達式切換 a 的第 b 位。
例如,如果您想將int
視為布爾數組(或位掩碼),並否定位置 b 處的條目,這可能很有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.