簡體   English   中英

在像 C++ 這樣的語言中 (a ^ (1 << b)) 實際上做了什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM