Can you summarize the following document?
        
  

  取反是一元運算子,對一個二進位制數的每一位執行邏輯反操作。使數字1成為0,0成為1。例如:  許多程式設計語言(包括C程式設計語言family),取反操作符用波浪線"codice_1"表示。值得注意的是此操作符與"邏輯非(codice_2)"操作符不同。在C++中,邏輯非將數字整體看做一個布林型別--將真值轉化為假,將假值轉化為真;而C語言將0轉化為1,將非零值轉化為0。"邏輯非"並不是一個位操作。

  按位或處理兩個長度相同的二進位制數,兩個相應的二進位中只要有一個為1,該位的結果值為1。例如  在C類程式設計語言中,按位或操作符是"|"。這一操作符需要與邏輯或運算子(||)區別開來。  按位或能夠將每一位看做旗幟;在二進位制數中的每一位可以表示不同的布林變數。應用按位或操作可以將二進位制數的某一位設為1。例如  能夠看做包含4個旗幟的組合。第1,2,4旗幟為0;第3個旗幟為1。利用按位或可以將第1個旗幟設定為1,而其他旗幟不變。  這一技巧通常用來儲存程式中的大量布林變數。

  按位異或運算,對等長二進位制模式或二進位制數的每一位執行邏輯異或操作。操作的結果是如果某位不同則該位為1,否則該位為0。例如  在類C語言中,按位異或運算子是"codice_3"。  組合語言的程式設計師們有時使用按位異或運算作為將暫存器的值設為0的捷徑。用值的自身對其執行按位異或運算將得到0。並且在許多架構中,與直接載入0值並將它儲存到暫存器相比,按位異或運算需要較少的中央處理單元時鐘週期。  按位異或也可以用於在位元集合中切換旗幟。給出一個位元模式,  第一和第三位能夠通過按位異或運算使用同時切換。  這一技巧可用於操作表示布林變數的位元模式。

  按位與處理兩個長度相同的二進位制數,兩個相應的二進位都為1,該位的結果值才為1,否則為0。例如:  在類C語言中,按位與用'&'表示

  移位是一個二元運算子,用來將一個二進位制數中的每一位全部都向一個方向移動指定位,溢位的部分將被捨棄,而空缺的部分填入一定的值。在類C語言中,左移使用兩個小於符號"«"表示,右移使用兩個大於符號"»"表示。

  應用邏輯移位時,移位後空缺的部分全部填0。

  JAVA中有一個特有的無符號右移操作符“»>”。此操作將忽略運算元的符號,同樣的還有“»>=”。
位操作是程式設計中對位模式或二進位制數的一元和二元操作。在許多古老的微處理器上,位運算比加減運算略快,通常位運算比乘除法運算要快很多。在現代架構中,情況並非如此:位運算的運算速度通常與加法運算相同(仍然快於乘法運算)。