2013年3月14日 星期四

電腦常用數字系統


1.電腦常用數字系統
  1. 十進位制(decimal number system):十進位制是一種滿10進位,基底為十的數字系統,由0、1、2、3、4、5、6、7、8、9等十個數字組成,為日常生活中普遍使用的數制。例127810,其基底通常被省略,亦即1278。
  2. 二進位制(Binary number system):二進位制是一種滿2進位,基底為二的數字系統,由0和1兩個數字所組成,為電腦最基本的數字系統。通常表示時會在數字前加一"B"以便於識別,例B1101或1102
  3. 八進位制(octal number system):八進位制為逢8進位的數字系統,由0、1、2、3、4、5、6、7所組成,通常於數字前加"&"或"&O"字母符號識別,例如&O467或4568
  4. 十六進位制(hexadecimal number system):十六進位制為逢16進位的數字系統,由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F所組成,其中A表十進位的10,B表 11,依次類推,其識別方式是於數前加"&H",例如&H123C,&HA28。或123C16
 

二、八、十、十六進位數字系統對照表

 





2.數字系統的轉換

(1)二進位數轉換成十進位數
將2進位每一位數分別乘以其位值, 再把結果加起來即可。
 
 
○由此可類推八進位十六進位轉十進位
 

(2) 十進位數轉換成二進位數


 
整數部份:將十進位整數連除以2,直到商數為0,再從下往上依次取出餘數。
故(63)10=111111(2)
 

數小部份:將十進位小數連乘以2,直到適當位數為止,從上往下依序取其整數 。
故(0.625)10=(0.101)2
 
 
 
○由此可類推神進位轉八進位和十六進位
 
 

 
 
 
(63.75)10=(63)10+(0.75)10
其中(63)10=(77)8 , (0.75)10=(0.6)8
 
 
(120.5)10=(120)10+(0.5)10
其中(120)10=(78)16  ,  (0.5)10=(0.8)16
 




 
 

(3) 十六,八進位數轉換成二進位數

當八進位要轉換成二進位時, 只要將八進位的數值轉換成每3個1組的二進位數值即可。
 

 
而十六進位要轉換成二進位時, 只要將十六進位的數值轉換成每4個1組的二進位數值即可。
 
(3) 十六進位數轉換成八進位數,八進位數轉換成十六進位數
 
按照前面所述將十六進位數轉人二進位數如此便可以再轉為八進位數
八進位數亦同理。
 
3.補數(用於表達數值負號的方法)
所謂補數(Complement)是指兩個數字加起來等於某數時,則稱該二數互為某數的補數;例如3的10補數為7,同理7的10補數為3。而補數有助減法運算用加法器來執行。而電腦的世界裡則採用二的補數法來執行運算。
 
(1)補數系統(1´s Complement)
 「1補數系統」是指如果兩數之和為1,則此兩數互為1的補數,亦即0和1互為1的補數。換言之,欲求得二進位數的1補數,只需將0變成1,1變成0即可;例如10102 的1補數為01012
 (2)補數系統(2´s Complement)
「2補數系統」的作法則是必須事先計算出該數的1補數,再加1即可。


○以2補數法求兩數相減的步驟如下:
  1. 取減數的2補數。
  2. 和被減數相加。
  3. 相加後會產生有無溢位問題,再分別處理:
  4. 若沒有溢位,表示其結果為負值,再取此結果的2補數,才能得到正確的答案。
  5. 若發生溢位,表示其結果為正值,則將此溢位捨棄,即得正確的答案。
 

沒有留言:

張貼留言