iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0
自我挑戰組

冒牌工程師上學去系列 第 11

1-10 四則運算_二補數運算

  • 分享至 

  • xImage
  •  

前情概要

前面1-8有提到二補數有一個優點:由於 A-B=A+(-B),因此可以直接沿用正數相加的電路,不用另外建一個新的。
以下針對這點進行說明

二補數的計算特點

  1. 有進位則捨去
  2. 有負數直接轉2補數

舉例1

  • 27-14用2補數執行(採6 bit)
27-14 = 27+(-14)
// 取2補數
 27 = 011011
-14 = 110010

// 相加,十進位是碰到十就要進一位數,二進位就是碰到二要進一位數
   27 = 011011
+ -14 = 110010
----------------
       1001101
       
// 我們是採用6bit表示,值相加後發現最左邊多一個bit出來,依照前面所說有進位要捨去
001101 = 13

舉例2

  • 使用8bit二補數(00010110)₂-(00100111)₂後的值為何
// 取2補數
(00010110)₂-(00100111)₂ 
= (00010110)₂ + -(00100111)₂
= (00010110)₂ + (11011001)₂

// 相加
  00010110
+ 11011001
----------------
  11101111
       
// 我們是採用8bit表示
11101111 = -(00010001) = -17

舉例3

  • 使用4bit二補數表示5+5後的值為何
// 取2補數
5 = 0101

// 相加
  0101
+ 0101
----------------
  1010
       
// 我們是採用4bit表示,二補數能顯示的範圍為-8到7(1-9提過)
// 5+5的值為10已經超出他可以儲存的範圍,這種狀況我們稱為溢位(overflow)
1010 = -(0110) = -6(mod16)

分類會依照第一篇介紹的分類架構來進行
由於是將學習過程記錄下來,如果有任何錯誤歡迎糾正

以下參考連結在學習過程中覺得非常有幫助:
-進制簡介
-台大線上課程


上一篇
1-9 四則運算_有號數表示法比較
下一篇
1-11 四則運算_傳統浮點數表示
系列文
冒牌工程師上學去42
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言