c 位運算子的理解

2021-10-23 04:55:48 字數 583 閱讀 7215

問題1:10 >> 1等於多少?

問題2:10 << 1等於多少?

儲備知識點:

判斷是右位移運算,還是左位移運算?

根據位運算子閉口的方向判斷,閉口在右,說明是右位移運算子;閉口在左,說明是左位移運算子;可以想象水流向閉合處流去,水流的方向就是位運算的方向

十進位制轉二進位制的方法:短除法,將被運算的值,除以2,記錄餘數【0或者1】,直到商為0為止。然後,從商為0一直向上依次將餘數寫在一起,即為二進位制結果;

二進位制轉十進位制:將二進位制從右到左,從0依次遞增標記【此標記值為2的n次方】;讓後依次從左到右,二進位制中的數值乘以2的對應次方,在相加;詳情見圖:

移位運算包含邏輯移位和算數移位;邏輯移位:是移出去的位丟掉,空缺的用0填充;算數移位:移出去的位丟掉,空缺的位用符號位填充

c++中,無符號整數適應邏輯移位;

思路:計算位運算,要先將運算值轉化為二進位制陣列,然後進行位偏移

學懂的標誌:自己能拿到乙個值,經過自己一些列轉化計算,能算到正確的值;這樣你才知道什麼時候該用這個知識點

C 位運算子

c 源自c,在提供高階語言便利的同時,也繼承了c在硬體程式設計方面的功能。因此適用於編寫裝置驅動和嵌入式大 c c 提供位邏輯運算子和移位運算子。二者只能用於整形和字元型。位運算子是對每位進行操作而不影響左右兩位,這有別於常規運算子 是將整個數進行操作的。一 位邏輯運算子 1 按位取反 將1變為0,...

C 位運算子

最近工作專案壓力不大,便繼續開始自學c 發現基礎知識忘記的差不多了.上網搜尋了一些基礎的不能再基礎的東西,溫故知新.c 位運算子 http www.diybl.com course 3 program c cppjs 20090403 163995.html c c 提供位邏輯運算子和移位運算子。二...

C 位運算子

位運算子作用於位,並逐位執行操作。和 的真值表如下所示 pq p qp q p q000 0001 0111 1110 1001 1假設如果 a 60,且 b 13,現在以二進位制格式表示,它們如下所示 a 0011 1100 b 0000 1101 a b 0000 1100 a b 0011 1...