tft每日頭條

 > 圖文

 > 二進制快速運算

二進制快速運算

圖文 更新时间:2024-12-28 00:01:56

二進制快速運算?二進制數的邏輯運算有四種:“與”運算AND、“或”運算OR、 “非”運算NOT、“異或”運算XOR,我來為大家科普一下關于二進制快速運算?下面希望有你要的答案,我們一起來看看吧!

二進制快速運算(二進制的邏輯運算)1

二進制快速運算

二進制數的邏輯運算有四種:“與”運算AND、“或”運算OR、 “非”運算NOT、“異或”運算XOR。

其中“或”運算又稱邏輯加法、“與”運算又稱邏輯乘法、“非”運算又稱邏輯否定,“異或”運算又稱邏輯半加法。

二進制數1和0在邏輯上可以代表“真”與“假”、“是”與“否”、“有”與“無”。

二進制數的邏輯運算算術運算是截然不同的,二進制數的邏輯運算是位對位的運算,本位運算結果不會對其他位産生任何影響,即不會出現算術運算中的進位或者借位。

1、“或”運算OR(邏輯加法)

通常用符号“ ”或“∨”或“|”來表示。

運算規則如下:0 0=0 ,0 1=1 ,1 0=1 ,1 1=1

0∨0=0,0∨1=1,1∨0=1,1∨1=1

0|0=0, 0|1=1, 1|0=1, 1|1=1

表示兩者隻要有一個1,其邏輯或的結果就為1。

  • 簡單總結為:“遇1得1”,也類似于并聯電路。

    例如:求51 | 5

    深入擴展用法:

    (1)與0相“或”可保留原值,與1相“或”可将對應位置1。

    例如:将X=10100000的高四位不變,低四位置1的操作為 x| 00001111 = 10101111。

    例如:将x的第1、2位置1的操作為x | 00000110B

    (2)可以給二進制特定位上的數無條件賦值,比如把二進制最末位強行變成1,或者把二進制最末位變成0。

    例如:把A=4(二進制為100)末位變為1的操作為 A|1= (100|001=101);

    把A=7(二進制為111)末位變為0的操作為 A|1-1= (111|001-1=110)。

    (3)可以判斷二進制數的奇偶。二進制的最末為0,表示該數為偶數,最末尾為1表示該數為奇數。例如:如果x|0=0,則x為偶數。

    2、“與”運算AND(邏輯乘法)通常用符号“×”或“∧”或“·”或“&”來表示。

    運算規則如下:

    0×0=0,0×1=0,1×0=0,1×1=1

    0∧0=0,0∧1=0,1∧0=0,1∧1=1

    0·0=0,0·1=0,1·0=0,1·1=1

    0&0=0 ,0&1=0 ,1&0=0 ,1&1=1

    表示隻有當兩者同時為1時,其邏輯與的結果才能等于1。

  • 簡單總結為:“遇0得0”,類似于串聯電路。

    例如:求51 & 5

    深入擴展用法:

    (1)與0相“與”可清零。例如:對x的第0、3位清零的操作為 x & 11110110B。

    (2)與1相“與”可保留原值,例如:取x中的後兩位的操作為 x & 00000011B。

    (3)可以判斷二進制數的奇偶。如果x&1=0,則x為偶數。

    (4)可以清除掉二進制整數最右邊的1,操作為 x & (x – 1)

    3、“非”運算NOT(邏輯否定)

    通常用符号“~”、“!”或者上方加一橫線來表示。

    運算規則如下:

    例如:求~51

    ~ 00110011=11001100

  • 簡單總結為:“取反”。非開即關,非關即開。

    4、“異或”運算XOR(邏輯半加運算)通常用符号“^”、“⊕”來表示,

    運算規則為:0⊕0=0,0⊕1=1,1⊕0=1,1⊕1=0

    0^0=0, 0^1=1, 1^0=1, 1^1=0表示隻有當兩者不相同時,結果才為1,兩者相同時結果為0。

  • 簡單總結為:“異1同0” ,直觀意思即判斷“是不是不一樣”。

    例如:求51 ^ 5

    深入擴展用法:

    (1)與0相”異或“可保留原值,與1相”異或“可将對應位置取反。例如:對x的3、7位取反的操作為 x^ 10001000B

    (2)異或運算的逆運算是他本身,也就是說一個數經過兩次異或後還是它本身。

    (3)一個數和0異或是它的本身,和自身異或為0。即x^0=x ,x^x=0 。

    (4)異或運算可以用于交換兩個整數,不使用中間變量。

    交換方法為:

    A = A ^ B

    B = A ^ B

    A = A ^ B

    證明:

    已知 a=51,b=5

    那麼:

    a=a^b=51^5

    b=a^b=(51^5)^5=51^5^5=51^0=51

    a=a^b=(51^5)^51=51^51^5=0^5=5

    得到:a=5,b=51

    更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

    查看全部
  • 相关圖文资讯推荐

    热门圖文资讯推荐

    网友关注

    Copyright 2023-2024 - www.tftnews.com All Rights Reserved