按位與&操作通常用作將乙個數的某些位清零或保留某些位操作
例如:把a的高8位清零
a & 0000000011111111
也就是將a & 255操作之後,就會實現將數字a的高8位位清零了
異或^操作的用途:
將某些特定的位翻轉
例如對數0x10100001的第2和第3位翻轉操作,那麼
可以0x10100001 ^ 0x00000110
通過按位異或操作可以實現兩個數的交換
例如交換a和b
a=0x10100001 b=0x00000110
a=a^b a=10100111
b=a^b b=10100001
a=a^b a=00000110
位運算的一些操作:
1、 乘除2
數字a左移n位表示 a*2^n
數字a右移n位表示a/2^n
2、 判斷奇偶性
因為如果乙個數字奇數,那麼最後一位肯定為1,所有和1進行按位&操作,肯定是1,可判斷出來是奇數,如果結果為0那麼為偶數
0x00010000
&0x00000001
int a = 16;
int b= 25;
if(a & 1)
奇數else
偶數
位運算的一些基本操作
原部落格 一 邏輯運算子 1.位與運算 1 運算規則 位與運算的實質是將參與運算的兩個資料,按對應的二進位制數逐位進行邏輯與運算。例如 int型常量4和7進行位與運算的運算過程如下 4 0000 0000 0000 0100 7 0000 0000 0000 0111 0000 0000 0000 ...
一些位運算
該篇文章會持續更新將遇到的位運算在這進行解釋 1.按位與 運算 運算規則 0 0 0 0 1 0 1 0 0 1 1 1 例如 8的二進位制 00001000 5的二進位制 00000101 8 5 0000 0000 轉換成十進位制就是0 與運算 的特殊用途 1 清零。如果想將乙個單元清零,即使其...
一些位操作函式
測試變數某一位是否為 1 是返回真,否返回假,num為待測試的數,bit為位數,其值從0到 7,下同 uchar bittest uchar num,uchar bit return num bit value bit uchar bitset uchar num,uchar bit 設定某一位 u...