二進制運算

二進制運算

二進制計算是電子計算器採用的計算形式。電子計算機具有強大的運算能力,它可以進行兩種二進制運算:算術運算和邏輯運算。

運算符

位運算符:&(按位與)|(按位或)^(按位異或)~(按位取反)<<(按位左移)>>(有符號的按位右移)>>>(無符號的按位右移)

算術運算

二進制數的算術運算包括:加、減、乘、除四則運算,下面分別予以介紹。

(1)二進制數的加法

根據“逢二進一”規則,二進制數加法的法則為:

0+0=0
0+1=1+0=1
1+1=0 (進位為1)
1+1+1=1 (進位為1)

例如:1110和1011相加過程如下:

二進制運算 二進制運算

2)二進制數的減法

根據“借一有二”的規則,二進制數減法的法則為:

0-0=0

1-1=0

1-0=1

0-1=1 (借位為1)

例如:1101減去1011的過程如下 :

二進制運算 二進制運算

(3)二進制數的乘法

二進制數乘法過程可仿照十進制數乘法進行。但由於二進制數只有0或1兩種可能的乘數位,導致二進制乘法更為簡單。二進制數乘法的法則為:

0×0=0

0×1=1×0=0

1×1=1

例如:1001和1010相乘的過程如下:

二進制運算 二進制運算

由低位到高位,用乘數的每一位去乘被乘數,若乘數的某一位為1,則該次部分積為被乘數;若乘數的某一位為0,則該次部分積為0。某次部分積的最低位必須和本位乘數對齊,所有部分積相加的結果則為相乘得到的乘積。

(4)二進制數的除法

二進制數除法與十進制數除法很類似。可先從被除數的最高位開始,將被除數(或中間餘數)與除數相比較,若被除數(或中間餘數)大於除數,則用被除數(或中間餘數)減去除數,商為1,並得相減之後的中間餘數,否則商為0。再將被除數的下一位移下補充到中間餘數的末位,重複以上過程,就可得到所要求的各位商數和最終的餘數。

例如:100110÷110的過程如下:

二進制運算 二進制運算

所以,100110÷110=110餘10。

說明:乘除法分原碼乘法和補碼乘法。

邏輯運算

二進制數的邏輯運算包括邏輯加法(“或”運算)、邏輯乘法(“與”運算)、邏輯否定(“非”運算)和邏輯“異或”運算。

(1)邏輯“或”運算

又稱為邏輯加,可用符號“+”或“∨”來表示。邏輯“或”運算的規則如下:

0+0=0或0∨0=0

0+1=1或0∨1=1

1+0=1或1∨0=1

1+1=1或1∨1=1

可見,兩個相“或”的邏輯變數中,只要有一個為1,“或”運算的結果就為1。僅當兩個變數都為0時,或運算的結果才為0。計算時,要特別注意和算術運算的加法加以區別。

(2)邏輯“與”運算

又稱為邏輯乘,常用符號“×”或“· ”或“∧”表示。“與”運算遵循如下運算規則:

0×1=0或0·1=0或0∧1=0

1×0=0或1·0=0或1∧0=0

1×1=1或1·1=1或1∧1=1

可見,兩個相“與”的邏輯變數中,只要有一個為0,“與”運算的結果就為0。僅當兩個變數都為1時,“與”運算的結果才為1。

(3)邏輯“非”運算

又稱為邏輯否定,實際上就是將原邏輯變數的狀態求反,其運算規則如下:

可見,在變數的上方加一橫線表示“非”。邏輯變數為0時,“非”運算的結果為1。邏輯變數為1時,“非”運算的結果為0。

(4)邏輯“異或”運算
“異或”運算,常用符號“”或“”來表示,其運算規則為:

00=0 或 00=0

01=1 或 01=1

10=1 或 10=1

11=0 或 11=0

可見:兩個相“異或”的邏輯運算變數取值相同時,“異或”的結果為0。取值相異時,“異或”的結果為1

以上僅就邏輯變數只有一位的情況得到了邏輯“與”、“或”、“非”、“異或”運算的運算規則。當邏輯變數為多位時,可在兩個邏輯變數對應位之間按上述規則進行運算。特別注意,所有的邏輯運算都是按位進行的,位與位之間沒有任何聯繫,即不存在算術運算過程中的進位或借位關係。下面舉例說明 。

【例1.1】 如兩變數的取值 X=00FFH, Y=5555H

求 Z1= X∧ Y; Z2= X∨ Y; Z3=; Z4= X Y的值。

解: X=0000000011111111

Y=0101010101010101

則: Z1=0000000001010101=0055H

Z2=0101010111111111=55FFH

Z3=1111111100000000=FF00H

Z4=0101010110101010=55AAH

相關詞條

相關搜尋

熱門詞條

聯絡我們