數字邏輯的一些基本運算和概念

2021-09-08 19:20:32 字數 4786 閱讀 4649

基數:計數制中所用到的數字符號的個數,比如基數為r的計數制中,含0,1···r-1共r個數字符號,進製規律是「逢r進1」,稱為r進製。

位權:在一種進製計數制表示的數中,用來表明不同數字上數值大小的乙個固定的常數。不同數字有不同的位權。

比如2進製:10001,第乙個1位上的位權為 2^4,第二個1位上的位權為 2^0。

並列表示法:比如 1001001.

多項式表示法:按權展開:1 x 2^6 + 1 x 2^3 + 1 x 2^0.

二轉十
10110.101 = 1x2^4 + 1x2^2 + 1x2^1 + 1x2^-1 + 1x2^-3 = 16 + 4 + 2 + 0.5 + 0.125.

十轉二
整數轉換,除基數取餘法:

45 ÷ 2 = 22 ··· 1

22 ÷ 2 = 11 ··· 0

11 ÷ 2 = 5 ··· 1

5 ÷ 2 = 2 ··· 1

2 ÷ 2 = 1 ··· 0

1 ÷ 2 = 0 ··· 1

得到45的二進位制 1 0 1 1 0 1,注意,按照從下往上的順序。

小數轉換,乘二取整法:

0.6875

x 2

------

1.3750 ··· 1

x 2

------

0.7500 ··· 0

x 2

------

1.5000 ··· 1

x 2

------

1.0000 ··· 1

0.6875的二進位制 0.1011,注意,按照從上向下的順序。

有些時候,無法用有限位二進位制表示十進位制的小數,就要根據題目的精度要求,將最低位進一然後捨去。

此外,當乙個十進位制既有整數也有小數,只要把它們分開計算就好了。

八進位制,和十六進製制,模擬即可。需要注意的是:

計算機涉及數字的符號問題的時候,需要補充一位符號位,一般在二進位制數的最左邊,以1為負,以0為正。

原碼:
小數:

大於0的小數x,原碼為其本身;小於0的小數x,原碼為 1-x(相當於在小數點前面補1)。比如:0.1011 -> 0.1011;-0.1011 -> 1.1011

整數:大於0為它本身,或者在最高位前面補0;小於0在最高位的前面補1。比如:1101 -> 01101;-1101 -> 11101。

反碼:
正數的反碼為它本身;負數的反碼:符號位不變,其他位按位取反。比如:0101111 -> 0101111;1101111 -> 1010000.

整數的方法和小數的方法一樣,只不過小數多加了一步,將符號變成小數點前面的1.

補碼:
正數與原碼,補碼一樣;負數為取反碼之後在最低位+1,有進製則進製;小數和整數一樣。

反碼的計算
無論進行加還是減的運算,均可以通過加法實現。運算的時候,符號位一起參與計算。

當符號位發生進製的時候,需要將進製加到運算結果的最低位,才能得到結果。

111

+ 111

-----

1 110

--->1

-----

111

補碼的計算
與反碼的計算不一樣的地方在於,符號位發生進製的時候,將其丟棄。

111

+ 111

-----

1 110

->drop

-----

110

目的:為了滿足計算機使用二進位制,而同時滿足人們習慣十進位制的需求,通常用四位二進位制**對十進位制數字進行編碼。稱為 二-十進位制**。

又稱bcd碼,具有二進位制的形式,又有十進位制的特點。

十進位制有 0-9 十個數字,就需要四位二進位制來表示,一共 2^4 = 16種表示,就會有多餘的六個二進位制表示。

不管哪種方案都會有多餘的六個表示。

分為有權碼 和 無權碼,有權碼是用數字表示的名字,比如8421碼,8421就是它的權值。

8421
權:8421;按照最簡單的二進位制進製來表示。

0 0000

1 0001

2 0010

3 0011

4 0100

------

5 0101

6 0110

7 0111

8 1000

9 1001

多餘的無效碼:1010 -> 1111

轉換樣例:

(1)258 -> 0010 0101 1000 注意,十進位制的每一位都要用四位二進位制表示,並且不能捨去0!

(2)0001 0010 0000 1000 -> 1208 按權轉換,相加即可,比如 0010 = 8x0 + 4x0 + 2x1 + 1x0,就是bcd碼的名字。

如果在計算的過程中,出現了無效位,需要加6(0110)來得到正確的結果。

2421
權:2421;求法:0-4和8421一致,從5開始(比如取到了k,5<=k<=9),計算 9-k 的值,得到 9-k 的2421表示(和8421一樣),然後按位取反。

比如 求6的2421碼:9 - 6 = 3;3的2421碼 和 3的8421碼一樣 = 0011;按位取反 = 1100.

因此,2421碼是 對9的自補**。

0 0000

1 0001

2 0010

3 0011

4 0100

------

5 1011

6 1100

7 1101

8 1110

9 1111

多餘的無效碼:0101 -> 1010

轉換樣例:

(1)258 -> 0010 1011 1110

(2)0010 0001 1110 1011 -> 2 1 8 5

0010 = 2x0 + 4x0 + 2x1 + 1x0;1110 = 2x1 + 4x1 + 2x1 + 1x0

5421
權:5421;求法:前面五個 0-4 一樣,最後五個,最高位取1,其它三位搬下來。

比如 求5:5找0,0的表示為 0000,那麼最高位置1,其它三位搬0000的後三位,形成 1000,就是5的5421碼了。

0 0000

1 0001

2 0010

3 0011

4 0100

------

5 1000

6 1001

7 1010

8 1011

9 1100

多餘的無效碼:0101 -> 0111(3個);1101 -> 1111(3個)

轉換樣例:

(1)258 -> 0010 1000 1011

(2)0010 0001 1100 1011 -> 2 1 9 8

0010 = 5x0 + 4x0 + 2x1 + 1x0;1100 = 5x1 + 4x1 + 2x0 + 1x0

無權碼:餘3碼
就是8421碼+3。它也是對9的自補**。

0 0011

1 0100

2 0101

3 0110

4 0111

------

5 1000

6 1001

7 1010

8 1011

9 1100

多餘的無效碼:0000 -> 0010;1101 -> 1111

轉換樣例:

(1)258 -> 0101 1000 1011

(2)1000 1001 1001 1011 -> 5 6 6 8

1000 = 8x1 + 4x0 + 2x0 + 1x0 - 3 = 5;1001 = 8x1 + 4x0 + 2x0 + 1x1 - 3 = 6

注意,如果計算沒有涉及到進製,則需要-3,如果涉及到進製,則要先按照8421碼的更改+6 然後再-3,也就是 +3。

2016/9/9

數字邏輯的一些基本運算和概念

基數 計數制中所用到的數字符號的個數,比如基數為r的計數制中,含0,1 r 1共r個數字符號,進製規律是 逢r進1 稱為r進製。位權 在一種進製計數制表示的數中,用來表明不同數字上數值大小的乙個固定的常數。不同數字有不同的位權。比如2進製 10001,第乙個1位上的位權為 2 4,第二個1位上的位權...

數位電路的一些基本概念

1 鎖存器 輸出端的狀態不會隨輸入端的狀態變化而變化,只有在有鎖存訊號時輸入的狀態被儲存到輸出,直到下乙個鎖存訊號。典型的邏輯電路是d觸發器。3 oc門 又稱集電極開路 漏極開路 與非門閘電路,open collector open drain 為什麼引入oc門?實際使用中,有時需要兩個或兩個以上與...

一些linux基本命令和概念

一些linux下的基本命令,初學者可以看看,其他高手是不用看了的 首先linux下的file dir具有user group others三種不同的所有者,每種所有者又有rwx三種顯示的許可權,以及s或t兩種特殊許可權 rwx分別為讀 寫 執行,命令ls l file dir可以檢視許可權 命令的一...