AND 彙編:and C語言:& 加密
將每一位進行and運算,若是都是1那麼結果爲1,不然0數據
AND 0100 1101 C語言: 1 = 77&1計算機
0000 0001語言
----------------------co
0000 0001 能夠判斷第幾位是0仍是1解密
OR 彙編:or C語言 |位運算
將每一位進行or運算,其中一個是1就是1,都是0則爲0
XOR 彙編: xor C語言^
將每一位進行xor運算,其中只有一個是1,則爲1,都是1或者都是0則爲0
Not 彙編: not C語言 ~
將每一位取反就是not運算
計算機是不會作加法的,它是經過位運算作加減乘除
4+5 = ?
0100 0100
0101 先作XOR 異或運算 0101 在作and 與運算
----------------------------------------------------
0001 0100 若是與運算所有都是0,那麼結果就是剛纔異或的結果,不是則再次異或和and驗證結果,而且左移一位
0001 此次是把前面的異或結果和與 運算結果 運算
1000 這裏是前面與運算的結果,結果沒算完,則要左移一位再次重複前面的步奏,一直到and運算所有爲0,那麼異或的結果就是最終結果
-------------------
1001
0001 再次and運算 驗證結果是否運算完畢
1000
------------
0000 所有是0了,運算完畢,那麼結果就是1001 ,1001 對應的十進制就是9,這就是計算機算加法
乘法
3*8 = ?
咱們能夠當作8 + 8 +8
那麼這樣就好辦了,利用加法的位運算便可算出乘法,減除同理
用異或進行加密與解密
原數據:5AC
祕鑰:45
10101100 00000101
xor 01000101 xor 01000101
---------------- --------------
11101001 01000000
加密後數據爲 0100000011101001 40E9
解密:
01000000 11101001
xor 01000101 xor 01000101
--------------------------------------------
00000101 10101100
解密後數據爲 0000010110101100 05AC
加密就是和祕鑰 進行異或運算,獲得加密到的數據,
而後在用祕鑰進行異或一算,就是解密的數據