位運算練習

2021-10-01 16:39:35 字數 1212 閱讀 8471

1、2*8的最高效的實現方式.

//2的二進位制表示形式為 0010  16的二進位制表示形式為 1111 通過左移4位可以實現 2*8 

intmain

(void

)

2、如何通過位運算判斷乙個數是奇數還是偶數?

//乙個數如果是奇數的話,那麼他的二進位制最後一位一定為1. 跟1進行與運算 如果結果為0則為偶數 1則為奇數

//比如 8和1 1000 & 0001 -> 0000

// 7和1 0111 & 0001 ->0001

**:int main(void)

else

}

3、如何讀取二進位制數中的某一位的值?

/*比如說

8位二進位制數a:

1000 1000

如果你想獲a的哪一位,就把數字b:

0000 0000的那一為設定為1.

比如說,我想獲得a的第三位

就把b的第三位數字設定為1,則b為

0000 0100,之後a、b求與,

結果若為0,說明a的第三位為0,結果為1,說明a的第三位為1.

同理:若要獲得a的第五位,

就把b設定為

0001 0000.

之後再求與。

通常在程式中

數字b被稱為掩碼,就是專門用來測試某一位是否為0的數值.*/

#include

intfun

(int x,

int n)

;int

main

(void

)int

fun(

int x,

int n)

4、如何設定二進位制數中的某一位的值?

設定第n位值:

設定相反:x^(1

<設定為1:x |(1

<設定為0:對應位為0其餘位為1

5.設 int a = 2; int b = 5; 使用位運算,交換兩個變數的值,並列印。

int

main

(void

)

6.使用位運算 獲取 int 型別的最大值和最小值,並列印

int

main

(void

)

C語言 位運算練習

編寫函式 unsigned int reverse bit unsigned int value 這個函式的返回值value的二進位制位模式從左到右翻轉後的值。如 在32位機器上25這個值包含下列各位 00000000000000000000000000011001 翻轉後 2550136832 1...

位運算的概念以及相關練習

程式中的所有數在計算機記憶體中都是以二進位制的形式儲存的。位運算就是直接對整數在記憶體中的二進位制位進行操作。位運算符號 位運算的三個步驟 1.確定要使用的符號 2.確定數 3.怎麼得到這個數 二元運算子 按位左移,右邊補充0 按位右移,左邊補充符號位 按位與,對應的位置上都是1的為1,與要變0的題...

位運算(1) 初識位運算

前段時間數電課學了些進製轉換,還有與或非等邏輯運算,如今再來看看位運算,倒輕鬆了不少。很早就想寫些非總結性部落格了,奈何還是太懶。也也不知怎的突然又來了興致,趕忙寫下這篇部落格。廢話不多說,今天準備總結總結關於位運算的知識。程式中的所有數在計算機記憶體中都是以二進位制的形式儲存的,即0 1兩種狀態,...