二進位制數系統
|
規範覆蓋範圍
|
在上一章中,我們研究了常見的數制和進位制。我們使用不同的數制,因為人類傾向於使用十進位制,而計算機只能以二進位制處理資料。作為計算機科學專業的學生,我們需要了解二進位制的工作原理以及計算機如何在二進位制中進行計算。
有一種快速的方法可以找出給定位數的最大值。使用下面的公式,您可以找出使用 8 位二進位制時可以獲得的最大十進位制值。
最大十進位制值 = , 表示位數。
|
例子 例如,對於 8 位: 當然,在無符號二進位制中,最小十進位制值為 0。 |
還有一種方法可以找出最大組合數,您只需使用以下公式:, 表示位數。
|
例子 例如,對於 8 位: 這意味著如果您使用 8 位二進位制,則有 256 種可能的組合。如果您使用 2 位二進位制,也稱為 個位元組,您將執行以下操作: 這些將是 4 種組合
|
| 許多二進位制算術問題有多個標記。在某些情況下,您不僅應該,而且必須展示您的工作! |
要將兩個數字在二進位制中加在一起,首先將數字對齊,就像您在十進位制中進行列加法一樣。
|
例子 1 1 (carried digits)
0 0 1 1 0 0 1 0
+ 1 0 1 1 0 1 0 1
-------------------
= 1 1 1 0 0 1 1 1
現在從右側開始新增列,記住您只能使用 0 和 1。
您可以透過將所有數字轉換為十進位制,進行加法運算,然後將答案轉換回二進位制來檢查您的答案。 在本例中,第一個數字的答案是 50,第二個數字是 181,所以答案應該是 231。 |
在二進位制中進行乘法,您需要將第一個數字乘以第二個數字的每一位數字,從右邊開始(與您在十進位制中進行乘法的方式相同)。這意味著您將每個數字乘以 0 或 1,這將為您提供 0 或 1 作為答案。然後您對下一個數字進行相同的操作,將您的答案向左移動,就像您在十進位制乘法中做的那樣。
| 當您看到有人演示時,您通常更容易理解。YouTube 上有很多關於此主題的影片。 |
然後您進行二進位制加法以找到最終答案。例如,要將 11011 乘以 11
|
例子 1 1 0 1 1
x 1 1
-------------------
= 1 1 0 1 1
+ 1 1 0 1 1 0
-------------------
= 1 0 1 0 0 0 1
1 1 1 1 (carried digits)
請注意 LSB(最低有效位)上的零,因為數字已向左移動。 同樣,您可以透過將二進位制轉換為十進位制來檢查您的答案。在本例中,第一個數字是 27(二十七),第二個數字是 3(三),所以答案是 81(八十一)。 二進位制乘法的規則與十進位制相同
|
二進位制補碼是一種用於在二進位制形式中表示帶符號整數的方法。這意味著它可以用於表示正整數和負整數。本節展示了二進位制補碼如何表示負整數。
假設我們要使用二進位制補碼將二進位制程式碼 100111002 轉換為十進位制。
|
步驟 1 寫出十進位制(或十進位制,如果您願意)等價物,如所示
|
|
步驟 1 |
蛋糕日星期五加入我們!!!
| MSB | LSB | ||||||
|---|---|---|---|---|---|---|---|
| 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |