二進位制運算

2021-09-16 18:41:29 字數 2564 閱讀 5666

一、運算子:

&

(按位與)

|(按位或)

^(按位異或)

~(按位取反)

<<

(按位左移)

>>

(有符號的按位右移)

>>>

(無符號的按位右移)

二、算術運算:

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

(1)二進位制數的加法:

根據「逢二進一」規則,二進位制數加法的法則為::0+

0=00

+1=1

+0=1

1+1=

0 (進製為1) 1+

1+1=

1 (進製為1)

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

(2)二進位制數的減法

根據「借一有二」的規則,二進位制數減法的法則為:

0-0=

01-1=0

1-0=

10-1

=1 (借位為1)

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

(3)二進位制數的乘法:

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

簡單。二進位制數乘法的法則為:

0×0=

00×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)邏輯「異或」運算

「異或」運算,常用符號「⊕」或「xor」來表示,其運算規則為:

0 xor 0

=0 或 0 ⊕ 0=0

0 xor 1

=1 或 0 ⊕ 1=1

1 xor 0

=1 或 1 ⊕ 0=1

1 xor 1

=0 或 1 ⊕ 1=0

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

二進位制運算

運算子 符號含義例子與 兩邊都為真時為真 1 1 1或 任何一邊為真時為真1 非取反 如果1則為0 如果0為1 1 0 異或 兩邊相同為1 兩邊不同為0 1 1返回false 1 2返回true 運算子符號含義 例子邏輯與 判斷兩邊 都為真時為真 true true true或 判斷兩邊 任何一邊為...

二進位制運算( )

負數轉化二進位制步驟 將負數取絕對值,得到其絕對值的二進位制 6取絕對值為6,6的二進位制 0110,然後補充0110位32位 000 000 0110 一共32位,即0110前面還有28個0 然後每位取反 111 111 1001 一共32位 接著對上面得到的二進位制 111 111 1001 進...

二進位制運算

現在有這麼一道題 1和2不用加法運算求出他等於三 是不是覺得很可笑,實則不然,在語言程式設計中計算機的運算都是用二進位制進行運算的,我們可以想到如果用二進位制進行進製的運算是不是就可以實現簡單的1 2 3的操作呢。先貼出一段簡單的 下面會對一下 進行具體的分析 public static int g...