位基本運算 一

2021-09-19 23:39:36 字數 682 閱讀 9474

首先明確:基本位運算規則, 不依賴正負.

定義:對於a, b兩個位向量: [aw-1, aw-2, …, a0] 和 [bw-1, bw-2, …, b0], 將a&b定義為乙個長度為w的位向量, 其中第i個元素等於ai&bi, 0≤i

0\leq i

0≤i<

w<

w. 類似 |, ^, ~ 定義同理.

對應位全部為1, 對應結果位為1, 否則為0.

0110 & 1100 = 0100

對應位有1個位為1, 對應結果位為1, 否則為0.

0110 | 1100 = 1110

對應位互異, 對應結果位為1, 否則為…

0110 ^ 1100 = 1010

將原來的位, 1 變為0 , 0 變為1.

~ 1100 = 0011

這裡取a為兩個位元組為例, a為任意個位亦成立. 細細體會, 定有收貨.

a & 0xffff

a | 0

a ^ 0

a ^ 0xffff

~aa ^ 0x00ff

其他位不變, 也可稱只取指定位/丟棄指定位(掩碼, 如 chmod - x):

a & 0x00ff

其他位不變, 如chmod + x:

a | 0xff

基本的位運算

位運算常被用於二進位制的運算,例如利用子網掩碼計算ip位址,把擋住的字段作為網段,其餘的作為ip位址 與運算的結果如下,兩邊同時為1,則結果為1 0 0 0,0 1 0,1 0 0,1 1 1 非運算即取反運算,在二進位制中1變0,0變1 110101進行非運算後為 001010即1010 只要兩邊...

基礎演算法 位運算 基本運算

1.移動 左移n位 乘以2的n次方 右移n位 除以2的n次方 0 左移n位 在1後面加上n個0 注 0不等於1。等於11 11 x 0 正數左移右邊補0 正數右移左邊補0 負數左移右邊補1 負數右移左邊補1 移動的作用總結 乘2,除2。右n位清零 2.異或 x 0 x x x 0 x 1 x x x...

位運算的一些基本操作

原部落格 一 邏輯運算子 1.位與運算 1 運算規則 位與運算的實質是將參與運算的兩個資料,按對應的二進位制數逐位進行邏輯與運算。例如 int型常量4和7進行位與運算的運算過程如下 4 0000 0000 0000 0100 7 0000 0000 0000 0111 0000 0000 0000 ...