二進位制及邏輯運算學習

2021-06-16 11:34:11 字數 3185 閱讀 1237

1.十進位制轉二進位制:(如果是整數)除以2取餘,逆序排列,(如果是小數)乘以2取整,順序排列

例:10(10)=1010(2)

10%2=0

5%2=1

2%2=0

1%2=1

最後表示為二進位制就是1010

例: (0.625)10= (0.101)2

0.625x2=1.25 ……1

0.25 x2=0.50 ……0

0.50 x2=1.00 ……1

2.二進位制轉十進位制:按權展開求和

如二進位制1010

1*2^3+0*2^2+1*2^1+0*2^0=10

(1011.01)2 =(1×2^3+0×2^2+1×2^1+1×2^0+0×2^(-1)+1×2^(-2) )10

3.二進位制轉八進位制 :從小數點開始,整數部分向左、小數部分向右,每3位為一組用一位八進位制數的數字表示,不足3位的要用「0」補足3位,就得到乙個八進位制數。

八進位制數字與二進位制數字對應關係如下:

000 -> 0 

001 -> 1 

010 -> 2 

011 -> 3 

100 -> 4 

101 -> 5 

110 -> 6 

111 -> 7 

例:將八進位制的37.416轉換成二進位制數:

3 7 . 4 1 6

011 111 .100 001 110

即:(37.416)8 =(11111.10000110)2

例:將二進位制的10110.0011 轉換成八進位制:

0 1 0 1 1 0 . 0 0 1 1 0 0

2 6 . 1 4

即:(10110.0011)2 = (26.14)8

4.二進位制數轉換成十六進製制數:從小數點開始,整數部分向左、小數部分向右,每4位為一組用一位十六進製制數的數字表示,不足4位的要用「0」補足4位,就得到乙個十六進製制數。

0000 -> 0  

0001 -> 1  

0010 -> 2  

0011 -> 3  

0100 -> 4 

0101 -> 5 

0110 -> 6 

0111 -> 7 

1000 -> 8

1001 -> 9

1010 -> a

1011 -> b

1100 -> c

1101 -> d

1110 -> e

1111 -> f

例:將十六進製制數5df.9 轉換成二進位制:

5 d f . 9

0101、 1101 1111 .1001

即:(5df.9)16 =(10111011111.1001)2

例:將二進位制數1100001.111 轉換成十六進製制:

0110 0001 . 1110

6 1 . e

即:(1100001.111)2 =(61.e)16

二進位制數的邏輯運算

邏輯運算是指對因果關係進行分析的一種運算。邏輯運算的結果並不表示數值大小,而是表示一種邏輯概念,若成立用真或1表示,若不成立用假或0表示。二進位制數的邏輯運算有「與」、「或」、「非」和「異或」4種。

「與」運算(and)

「與」運算又稱邏輯乘,用符號「?」或「∧」來表示。運算規則如下。

0∧0 = 0   0∧1 = 0   1∧0 = 0   1∧1 = 1。

即當兩個參與運算的數的對應碼位中有乙個數為0,則運算結果為0,只有兩碼位對應的數都為1結果才為1。這與前面介紹的二進位制數乘法運算是一樣的。圖2-16是兩個「與」的邏輯運算示例。 

「或」運算(or) 

「或」運算又稱邏輯加,用符號「+」或「∨」表示。運算規則如下。

0∨0 = 0   0∨1 = 1   1∨0 = 1   1∨1 = 1。 

即當兩個參與運算數的相應碼位只要有乙個數為1,則運算結果為1,只有兩碼位對應的數均為0,結果才為0。圖2-17是兩個「或」的邏輯運算示例。

「非」運算(not) 

「非」運算實現邏輯否定,即進行求反運算,用符號「—」表示。「非」運算規則:0 = 1,1 = 0。注意「非」運算只是針對乙個數所進行的「運算」,這與前面的「與」和「或」運算不一樣。它的實質意義就是取反。如「10111101」進行「非」運算後就得到「01000010」,對比相應位即可驗證以上運算規則了。

「異或」運算(xor) 

「異或」運算用符號「 」來表示。其運算規則如下。 

0   0 = 0   0   1 = 1   1   0 = 1   1   1 = 0 

即當兩個參與運算的數取值相異時,運算結果為1,否則為0。圖2-18是兩個「異或」邏輯運算示

3.將負數轉換為二進位制

在計算機中,負數以其正值的補碼形式表達。

原碼:乙個整數,按照絕對值大小轉換成的二進位制數,稱為原碼。

比如 00000000 00000000 00000000 00000101 是 5的 原碼。

反碼:將二進位制數按位取反,所得的新二進位制數稱為原二進位制數的反碼。

取反操作指:原為1,得0;原為0,得1。(1變0; 0變1)

比如:將00000000 00000000 00000000 00000101每一位取反,得11111111 11111111 11111111 11111010。

稱:11111111 11111111 11111111 11111010 是 00000000 00000000 00000000 00000101 的反碼。

反碼是相互的,所以也可稱:

11111111 11111111 11111111 11111010 和 00000000 00000000 00000000 00000101 互為反碼。

補碼:反碼加1稱為補碼。

也就是說,要得到乙個數的補碼,先得到反碼,然後將反碼加上1,所得數稱為補碼。

比如:00000000 00000000 00000000 00000101 的反碼是:11111111 11111111 11111111 11111010。

那麼,補碼為:

11111111 11111111 11111111 11111010 + 1 = 11111111 11111111 11111111 11111011

所以,-5 在計算機中表達為:11111111 11111111 11111111 11111011。轉換為十六進製制:0xfffffffb。

-1在計算機裡用二進位制表達就是全1。16進製為:0xffffff

二進位制及邏輯運算學習

1.十進位制轉二進位制 如果是整數 除以2取餘,逆序排列,如果是小數 乘以2取整,順序排列 例 10 10 1010 2 10 2 0 5 2 1 2 2 0 1 2 1 最後表示為二進位制就是1010 例 0 625 10 0 101 2 0.625x2 1.25 1 0.25 x2 0.50 0...

二進位制邏輯運算

邏輯加法通常用符號 或 來表示。邏輯加法運算規則如下 0 0 0,0 0 0 0 1 1,0 1 1 1 0 1,1 0 1 1 1 1,1 1 1 從上式可見,邏輯加法有 或 的意義。也就是說,在給定的邏輯變數中,a或b只要有乙個為1,其邏輯加的結果就為1 只有當兩者都為0時邏輯加的結果才為0。邏...

二進位制與邏輯運算

二進位制是十分深刻的思想,不是說,乙個數字系統只有 0 1 就意味著它是二進位制,這是對二進位制的狹隘理解,而是某系統,僅有兩種狀態 陰陽 黑白 男女乙個數不管是二進位制形式,還是十進位制形式,減去1,都將實現偶數和奇數之間的相互轉化 考慮下面的場景,有明星團隊 有男有女 的粉絲見面會 有男有女 各...