C C 中的位運算

2021-09-13 13:25:00 字數 789 閱讀 3344

位運算的操作物件是整數型別,在運算過程中,整數被看作二進位制的集合,位運算的功能是提供檢查和設定二進位制的功能。位運算遵從左結合律。

~(位求反),<<(左移),>>(右移),&(位與),^(位異或),|(位或)。

(1)左移(<<):把二進位制位向左移位,右側插入0進行補位。

(2)右移(>>):   把二進位制向右移位,如左側物件是無符號位,則插入為0的二進位制。若為帶符號型別,插入符號位的副本或者為0的二進位制,視具體情況而定(原來第乙個運算元是正數,補0;若是負數,補1)。

(3)位取反(~):對二進位制逐位取反。

注:位運算是對補碼進行運算的。

例:                           二進位制 無符號a     10011011

對a左移8位:

00000000 00000000 10011011 00000000

對a右移3位:

00000000 00000000 00000000 00010011

1.取一段資料中的特定幾位數,用左移,右移。

2.對某幾位清零,可用與。清零位為0,

3.對某位置1,可用或。置1位為1

4.對某幾位取反,用求反。

5.對某兩個數進行交換,用異或。

例:交換a,b值。

void swap1(int& a, int& b)

例:取某資料的高8位,低8位資料,並合併成新資料的舉例,見

C C 中的位運算

c c 提供了六個位運算操作符,可以對整數進行位運算,下面分別來介紹這六種位運算子。1 按位與 將兩個運算元的每乙個二進位制位進行邏輯與運算。例如 3 5 3 00000011 5 00000101 3 5 00000001 按位與操作有以下兩個特別的用處 將某個運算元的若干位置0 取運算元的若干指...

C C 中的位運算子

開始 我自己都記不住這是第幾次把這幾個位運算子搞混了,剛好在剛用過來把這幾個位運算子記下來,俗話說的好好記性不如個爛筆頭。運算子 與 或 非 異或 and or not 單目運算子 按位取反 雙目運算子 左移,右移,按位與,按位或,按位異或 1 按位取反具有有結合性,其功能為對參與運算的數的各二進位...

C C 位操作 位運算

在c語言中,可以單獨操控變數的位 bit 一般高階語言不會處理這級別的細節,c在提供高階語言便利的同時,還能為組合語言所保留的級別上工作,這使其成為編寫裝置驅動程式和嵌入式 的首選語言。目錄 二進位制整數 binary 有符號整數 八進位制 octal 十六進製制 hex 位運算子 按位與 的用途 ...