雖然二進位系統能夠正確的表示整數與小數,但卻僅限於正數,因此數學家們提出了補數的概念。
十進位
|
帶符號大小
|
1’s補數
|
2’s補數
|
十進位
|
帶符號大小
|
1’s補數
|
2’s補數
|
+8
|
無
|
無
|
無
|
-8
|
無
|
無
|
1000
|
+7
|
0111
|
0111
|
0111
|
-7
|
1111
|
1000
|
1001
|
+6
|
0110
|
0110
|
0110
|
-6
|
1110
|
1001
|
1010
|
+5
|
0101
|
0101
|
0101
|
-5
|
1101
|
1010
|
1011
|
+4
|
0100
|
0100
|
0100
|
-4
|
1100
|
1011
|
1100
|
+3
|
0011
|
0011
|
0011
|
-3
|
1011
|
1100
|
1101
|
+2
|
0010
|
0010
|
0010
|
-2
|
1010
|
1101
|
1110
|
+1
|
0001
|
0001
|
0001
|
-1
|
1001
|
1110
|
1111
|
+0
|
0000
|
0000
|
0000
|
-0
|
1000
|
1111
|
0000
|
1's補數和原數字0,1相反;2's補數為1's補數加1 |
減法:因為電腦系統中沒有減法概念,所以減法要改成加負數
作法: 被減數 加上 減數 的 2's 補數
- 觀察加法完成後進位 (end carry)
- 有進位發生,捨去進位即可 (代表 A大於等於B)
- 沒有進位發生,將所得結果取2's進位補數,再加上負數 (代表A小於B)
控制單元、暫存器 →→ ALU →→ 旗號、暫存器
浮點數
是屬於有理數中某特定子集的數的數位表示,在電腦中用以近似表示任意某個實數。具體來說,這個實數由一個整數或定點數(即尾數)乘以某個基數(電腦中通常是2)的整數次冪得到,這種表示方法類似於基數為10的科學記數法。
一個浮點數a由兩個數m和e來表示:a = m × be。在任意一個這樣的系統中,我們選擇一個基數b(記數系統的基)和精度p(即使用多少位來儲存)。m(即尾數)是形如±d.ddd...ddd的p位數(每一位是一個介於0到b-1之間的整數,包括0和b-1)。如果m的第一位是非0整數,m稱作正規化的。有一些描述使用一個單獨的符號位(s 代表+或者-)來表示正負,這樣m必須是正的。e是指數。