計算機概論-數字系統
進制轉換
N進制數字系統是由0、1、2...N-1乘以權值之總和,N為基底
轉為10進制:
- 16進制轉10進制:(1AF)16=1*162+10*161+15*160=431
- 8進制轉10進制:(177)8=1*82+7*81+7*80=127
- 2進制轉10進制:(101)2=1*22+0*21+1*80=5
10進制轉為其它進制:
- 整數部分與小數部分需分開計算
- 整數部分除N(基底)取餘數,即為各位數之權值
- 小數部分乘N(基底)取整數部分,即為各位數之權值
整數
無號整數(unsigned integer)
- 沒有符號位元
- n位元無符號整數範圍為0~2n-1
有號整數(signed integer)
- MSB(最高位元)為符號位元
- n位元有號整數範圍為-2n-1~2n-1-1
補數
- n補數:某數與其補數相加為nr,其中r為位數。
- n補數:某數與其補數相加為nr-1,其中r為位數。
- 如:(010010)2的n補數為(101110)2,n-1補數為(101101)2
浮點數
格式
Significand | Exponent | Fraction | |
---|---|---|---|
單精度 | 1bit | 8bit | 23bit |
倍精度 | 1bit | 11bit | 52bit |
單精度:(-1)S*2E*(1+F*2-23)
倍精度:(-1)S*2E*(1+F*2-52)
其中E採127(單精度)或1023(倍精度)表示法格式,為最大值(全為1)時,表示∞(無限大)
特殊名詞
- 截斷誤差(Trunction Error):以有限位數表示無限位數之誤差
- 捨入誤差(Round-off Error):近似值與精確值之誤差
- 上限誤差(Overflow):上限溢位造成之誤差
- 下限誤差(Underflow):下限溢位造成之誤差
其它數字碼
ASCII
- 以7bit編碼
- 常用:0→(48)10, A→(65)10, A→(97)10
格雷碼(Gray code)
BCD碼(Binary-coded decimal)
十進數 | 8421碼 | 餘3碼 | 2421碼 |
---|---|---|---|
0 | 0000 | 0011 | 0000 |
1 | 0001 | 0100 | 0001 |
2 | 0010 | 0101 | 0010 |
3 | 0011 | 0110 | 0011 |
4 | 0100 | 0111 | 0100 |
5 | 0101 | 1000 | 1011 |
6 | 0110 | 1001 | 1100 |
7 | 0111 | 1010 | 1101 |
8 | 1000 | 1011 | 1110 |
9 | 1001 | 1100 | 1111 |
8421碼(BCD碼)
- 十進位的每一位數都以4位元二進位表示。
- 屬於有權碼,權值為8, 4, 2, 1
- 例如:(56)10的8421碼為(01010110)2
2421碼
- 屬於有權碼,權值為2,4,2,1,即大於4取1補數
餘3碼
- 等於8421碼+3
- 屬於無權碼
0留言