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兩種狀態,...