iT邦幫忙

2022 iThome 鐵人賽

DAY 10
0
自我挑戰組

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

1-9 四則運算_有號數表示法比較

  • 分享至 

  • xImage
  •  

有號數常見的三種方式比較

有號數表示法主要有三種:符號大小值、一補數、二補數
而這三種有一個共通點:最左邊的bit是判斷正負數,只要是正數最左邊就是0,負數就是1

# 符號大小值 一補數 二補數
正數表示 2進位 2進位 2進位
負數表示 最左邊的bit換成1 所有bit相反 右邊遇到第一個1以左(不包含1)都相反,以右不動
範圍 -2^(n-1)+1 到 2^(n-1)-1 -2^(n-1)+1 到 2^(n-1)-1 -2^(n-1) 到 2^(n-1)-1
  • 符號大小值和一補數裡的0有兩種表示方式: +0/-0,所以能包含的範圍會少一個

聽起來很難理解直接上例子,以下描述3bit表示3和-3

# 符號大小值 一補數 二補數
正數表示 011 011 011
負數表示 111 100 101

三種表現方式例子

用5bit算出以上三種方式的最大最小值及0的表示

範圍

以上面的公式可以得知範圍

# 符號大小值 一補數 二補數
範圍 -15 到 15 -16 到 15 -16 到 15

最大值

這部分就沒有什麼疑慮都一樣

# 符號大小值 一補數 二補數
最大值表示 01111 01111 01111
15 15 15

最小值

依照剛剛的說法

  • 符號大小值只要改變最左邊的數值因此依照最大值將最左邊bit改成1
  • 一補數我們先想15表示01111,-15就是bit相反10000
  • 二補數我們先想16表示10000(無號數表示),轉成-16就是最右邊數來第一個1不動,他右邊也都不動所以就是10000
# 符號大小值 一補數 二補數
最小值表示 11111 10000 10000
-15 -15 -16

0表示

# 符號大小值 一補數 二補數
正0 00000 00000 00000
負0 10000 11111 00000

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

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


上一篇
1-8 四則運算_負數定義
下一篇
1-10 四則運算_二補數運算
系列文
冒牌工程師上學去42
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言