human
"＆= | ="とはどういう意味ですか？
gpt
＆= and | =はC言語のビット輸送オペレーターであり、それぞれ位置の計算と値の位置または割り当てを示しています。＆=右側の変数を持つ左変数が位置で押され、左側の変数に結果を割り当てることを意味します。左側の変数になります。
human
ビット操作の操作と使用可能なシナリオとは何かを説明できますか？
gpt
プログラムの数字は、コンピューターメモリにバイナリの形で存在します。ビット操作は、メモリ内の整数（タイプは整数または文字）のバイナリ位置を直接操作することです。
1.奇妙な人形を判断します
n＆1 == 1 // true、次にnは素晴らしい数字です。

2. 2つの番号を交換します
ビット操作を使用して2つの数値を交換する方法では、余分なスペースは必要ありません。aとbの値を以下に交換する場合：

a = a^b; // a = a^b
b = a^b; // b =（a^b）^b = a^0 = a
a = a^b; // a =（a^b）^a = a^a^b = b
3.実装方法を追加、減算、乗算、分割、実現する必要はありません
int add（int num1、int num2）{{
    int a = num1^num2; //進歩がない場合、Aは結果です
    int b = num1＆num2; //位置を記録します。つまり、最高レベル1+1があるかどうか
    b = b << 1; //左の動きを1つの場所に置きます
    if（b == 0）を返します。
    それ以外の場合は、add（a、b）を返します。
}
4.バイナリの1の数
アイデア1：それぞれ（1 << i）とは別に番号nを作成し、結果は1ではありません
アイデア2：n＆（n-1）。n = n＆（n-1）の値を絶えず更新します。各操作は1 1 1になります。
5.ベクトルの適用
位置ベクトルa = [01101001]がコレクションa = {0,3,5,6}を示している場合

場所ベクトルb = [01010101]はコレクションb = {0,2,4,6}を示します

次に、A＆BはABを表し、a | bはa∪bを意味します