2-3數字系統 ﹝回首頁﹞
二進位(Binary;bin)→0,1
八進位(Octal;oct)→0,1,2,3,4,5,6,7
十進位(Decimal;dec)→0,1,2,3,4,5,6,7,8,9
十六進位(Hexadecimal;hex)→0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(A代表10,B代表11,C代表12,D代表13,E代表14,F代表15)
表示方式
二進位→(1111)2 或 (1111)B
八進位→(567)8 或 (567)O
十六進位→(2EF)16 或 (2EF)H
(一)十進位數字系統
10進制系統是以10為基底,簡單來說就是『逢十進位』的數字系統。
共有0、1、2、3、4、5、6、7、8、9等十個符號,再加上位數(每個位數表示十的不同乘冪)就可以表示出數值的大小,例如24596其意義就是代表著:
|
數字 |
2 |
4 |
5 |
9 |
6 |
|
次方 |
104 |
103 |
102 |
101 |
100 |
|
位值 |
萬 |
千 |
百 |
十 |
個 |
|
說明: 24596 =2x104+4x103+5x102+9x101+6x100 =20000+4000+500+90+6=(24596)10 |
|||||
各進位間轉換
(二)二進位數字轉換為十進位
2進制系統是以2為基底,簡單來說就是『逢二進位』的數字系統。
二進位(Binary)的運算原理與十進位一樣,其主要差異就是只有0,1兩個符號,再加上位數(每個位數表示二的不同乘冪)就可以表示出數值的大小,例如100111其意義就是代表著:
|
數字 |
1 |
1 |
1 |
1 |
|
次方 |
23 |
22 |
21 |
20 |
|
十進位 |
8 |
4 |
2 |
1 |
|
說明: (1111)2 =1x23+1x22+1x21+1x20 =8+4+2+1 =(15)10 |
||||
如果要將二進位變換成十進位,其方法與過程如下:
步驟1:二進位數最右數字乘1﹝ 即等於乘上(2 0)﹞
步驟2:二進位數次右數字乘2
﹝ 即等於乘上(2 1)﹞步驟3:二進位數再次右數字乘4
﹝ 即等於乘上(2 2)﹞步驟4:依次類推,以十進位的加法將之得數加起來即可得出相等的十進位數。
舉列來說,以二進位數字系統表示100111的值應為:
100111=1x25+0x24+0x23+1x22+1x21=32+0+0+4+2+1 =(39)10
若含小數點則如下:
(111100.111)2=1×25+1×24+1×23+1×12+0×21+0×20+1×2-1+1×2-2+1×2-3 =(60.875)10
92( )二進位表示法為1111,其十進位表示法為256。
539( )下列那一個數字不是二進位數的表示法?(1)101(2)1A(3)1(4)11001。
(三)八進制數字轉換為十進位
8進制系統是以8為基底,簡單來說就是『逢八進位』的數字系統。
八進位數字系統是以0,1,2,3,4,5,6,7共8個數字為基本符號來表示數字,再加上位數(每個位數表示八的不同乘冪)就可以表示出數值的大小,例如123其意義就是代表著:
|
數字 |
1 |
2 |
3 |
|
次方 |
82 |
81 |
80 |
|
十進位 |
64 |
8 |
1 |
|
說明: (123)8 =1x82+2x81+3x80 =64+16+3 =(83)10 |
|||
如果要將八進位變換成十進位,其方法與過程如下:
步驟1:八進位數最右數字乘 1﹝ 即等於乘上(8 0)﹞
步驟2:八進位數次右數字乘 8 ﹝ 即等於乘上
(8 1)﹞步驟3:八進位數再次右數字乘 64
﹝ 即等於乘上(8 2)﹞步驟4:依次類推,以十進位的加法將之得數加起來即可得出相等的十進位數。
101( )八進位表示法為123,其十進位表示為83。
(四)十六進制數字轉換為十進位
16進制系統是以16為基底,簡單來說就是『逢十六進位』的數字系統。
十六進制以16為底的數字系統,使用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E, F(A代表10,B代表11,C代表12,D代表13,E代表14,F代表15)等合計16個基本符號來表示數字。再加上位數(每個位數表示十六的不同乘冪)就可以表示出數值的大小,例如7D1其意義就是代表著:
|
數字 |
7 |
D |
1 |
|
次方 |
162 |
161 |
160 |
|
十進位 |
256 |
16 |
1 |
|
說明: (7D1)16 =7x162+Dx161+1x160 =1792+208+1 =(2001)10 |
|||
如果要將十六進位變換成十進位,其方法與過程如下:
步驟1:十六進位數最右數字乘 1﹝ 即等於乘上(16 0)﹞
步驟2:十六進位數次右數字乘 16 ﹝ 即等於乘上
(16 1)﹞步驟3:十六進位數再次右數字乘 256
﹝ 即等於乘上(16 2)﹞步驟4:依次類推,以十進位的加法將之得數加起來即可得出相等的十進位數。
97( )十六進位表示法為7D1,其十進位表示為2001。
(五)十進位數字轉換為二進位
1.一般均採用除法:
如果要將十進位整數部份變換成二進位,其方法與過程如下:
步驟1:將進位的數除以2,求其商及餘數
步驟2:若商不為1,則繼續步驟1,否則進行步驟3
步驟3:把經連除2的餘數,依序由右向左排列,而得相當的二進位數
【例】將(39)10換算成二進位
商 餘數
39 ÷2=19………1 ↑
19 ÷2= 9……… 1 │
9 ÷2= 4……… 1 │
4 ÷2 = 2……… 0 │
2 ÷2 = 1……… 0 │
────────┘ 寫法為由下而上
答案:(39)10=(100111)2
2.採簡化法:
將所要轉換的十進位數字去作下列表格之分配。方法為去先行減去比該十進位數字小之表格中之被減數後,將對應到的表格填上1,再將其餘數同樣去減去比該餘數小之表格中之被減數後,將對應到的表格填上1,直到餘數為0止。此時再將沒有填到之表格補0。
|
數字 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
次方 |
28 |
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
2-1 |
2-2 |
2-3 |
|
被減數 |
256 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
0.5 |
0.25 |
0.125 |
|
填入1和0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
【例】將
(60.875)10換算成二進位60.875
─ 32 將對應到的表格填上 1
----------------
28.875
─ 16 將對應到的表格填上 1
----------------
12.875
─ 8 將對應到的表格填上 1
---------------
4.875
─ 4 將對應到的表格填上 1
---------------
0.875
─ 0.5 將對應到的表格填上 1
----------------
0.375
─ 0.25 將對應到的表格填上 1
---------------
0.125
─ 0.125 將對應到的表格填上 1
---------------
0
即求得 (60.875)10=(111100.111)2
即 (60.875)10由 32 與16 與 8 與 4與0.5 與 0.25 與 0.125所組合而成的。將有組合到的數寫1,沒有填到的寫0,就是二進位之值。所以可知 28 = 256,29 = 512 ,若一年以365日計算,則須使用九位元才可表示該數目 。
94 ( )十進位表示法為39,其二進位表示為100111。
613( )十進制(60.875)以二進制表示為(1)110110.111(2)101110.110(3)111100.111(4)110100.110。
663( )若一年以365日計算,則須使用多少位元才可表示該數目?(1)1(2)9(3)18(4)2。
(六)十進位數字轉換為八進位
1.一般均採用除法:
如果要將十進位整數部份變換成八進位,其方法與過程如下:
步驟1:將進位的數除以8,求其商及餘數
步驟2:若商不為1,則繼續步驟1,否則進行步驟3
步驟3:把經連除8的餘數,依序由右向左排列,而得相當的八進位數
【例】將(77)10換算成八進位
商 餘數
77 ÷8 = 9………5 ↑
9 ÷8 = 1………1 │
───────┘ 寫法為由下而上
所以(77)10 =(115)8
2.採簡化法:
將所要轉換的十進位數字先求出二進位後。因八是2的3次方,所以將此二進位從右開始,取3個一組,解出其值,便得結果。
例如:(77)10 =64 + 8 + 4 + 1= 1x26 + 1x23+1x22+1x20 =(1001101)2=(1,001,101)2=(1,1,5)8=(115)8
95( )十進位表示法為77,其八進位表示為166。
(七)十進位數字轉換為十六進位
1.一般均採用除法:
如果要將十進位整數部份變換成十六進位,其方法與過程如下:
步驟1:將進位的數除以16,求其商及餘數
步驟2:若商不為1,則繼續步驟1,否則進行步驟3
步驟3:把經連除16的餘數,依序由右向左排列,而得相當的八進位數
【例】將(100)10換算成十六進位
商 餘數
100 ÷16 = 6…………4 ↑
────────┘ 寫法為由下而上
所以(100)10 =(64)16
2.採簡化法:
將所要轉換的十進位數字先求出二進位後。因十六是2的4次方,所以將此二進位從右開始,取4個一組,解出其值,便得結果。
例如:(17)10 =16 + 1= 1x24 + 1x20 =(10001)2=(1,0001)2=(1,1)16=(11)16
96( )十進位表示法為100,其十六進位表示為64。
554( )10進制表示法的17在16進制中應如何表示?(1)17(2)11(3)10(4)21。
(八)二進位數字轉換為八進位
1.採簡化法:
因八是2的3次方,所以將此二進位從右開始,取3個一組,解出其值,便得結果。
例如: (1010101)2=(1,010,101)2=(1,2,5)8=(125)8
91( ) 二進位表示法為1010101,其八進位表示法為126。
(九)二進位數字轉換為十六進位
1.採簡化法:
因十六是2的4次方,所以將此二進位從右開始,取4個一組,解出其值,便得結果。
例如:1.(11000011)2=(1100,0011)2=(C,3)16=(C3)16
2.(1101001)2=(110,1001)2=(6,9)16=(69)16
3.(1011,1001,1100,0011)2=(B,9,C,3)16=(B9C3)16
93 ( )二進位表示法為11000011,其十六進位表示法為C4。
576( )二進制數值1101001轉換為十六進制時,其值為(1)69(2)39(3)8A(4)7A。
615(
)二進制1011,1001,1100,0011以十六進制表示為(1)C9E3(2)A9D3(3)B9C3(4)C8E4。
(十)八進位數字轉換為二進位
1.採簡化法:
因八是2的3次方,所以將此每個八進位從右開始,化為3個一組的二進位後,解出其值,便得結果。
例如:(66)8 =(110,110)2=(110110)2
102( )八進位表示法為66,其二進位表示為110111。
(十一)十六進位數字轉換為二進位
1.採簡化法:
因十六是2的4次方,所以將此每個十六進位從右開始,化為4個一組的二進位後,解出其值,便得結果。
例如:(F0)16 =(1111,0000)2=(11110000)2
99( )十六進位表示法為F0,其二進位表示為00001111。
(十二)八進位數字轉換為十六進位
1.採簡化法:
將所要轉換的八進位數字先求出二進位後再轉換為十六進位。因八是2的3次方,所以將此每個八進位從右開始,化為3個一組的二進位後,綜合全部二進位,因十六是2的4次方,所以將此二進位從右開始,取4個一組,解出其值,便得結果。
例如:1.(777)8 =(111,111,111)2=(1,1111,1111)2=(1,F,F)16=(1FF)16
2.(2345.67)8 =(10,011,100,101.110,111)2=(100,1110,0101.1101,1100)2=(4,E,5.D,C)16=(4E5.DC)16
3.(456)8
=(100,101,110)2=(1,0010,1110)2=(1,2,E)16=(12E)16
100( )八進位表示法為777,其十六進位表示為1FF。
628( )請將下列八進位數值轉換成十六進位:(2345.67)8=( )16(1) (59.13)16(2) (95.13)16(3) (45E.DC)16(4) (4E5.DC)16。
632( )請換算右列之數值,(456)8=( )16(1)12F(2)12E(3)12D(4)228。
(十三)十六進位數字轉換為八進位
1.採簡化法:
將所要轉換的十六進位數字先求出二進位後再轉換為八進位。因十六是2的4次方,所以將此每個十六進位從右開始,化為4個一組的二進位後,綜合全部二進位,因八是2的3次方,所以將此二進位從右開始,取3個一組,解出其值,便得結果。
例如:(1A1B)16=(1,1010,0001,1011)2=(1,101,000,011,011)2=(1,5,0,3,3)8=(15033)8
98( )十六進位表示法為1A1B,其八進位表示為6684。
(十四)二進位加法運算
要領:1. 0+0=0
2. 0+1=1
3. 1+1=10(唸壹零)
例:
1101
+) 1011
----------------
11000 ←逢”二”進一且變為0
(十五)八進位加法運算
要領: 相當於十進制的加法,只是其為『逢八進位』。
例:
( 23.4)8
+ ( 56.4)8
----------------
(102.0)8 ←逢”八”進一且變為0
627( )下列兩個八進位數值之和為何?(23.4)+(56.4)= (1) (66.0) (2) (102.0) (3) (79.8)8(4) (515.10)。
(十六)二進制減法運算
要領:1. 0-0=0
2. 1-1=0
3. 1-0=1
4. 0-1=1(向左位借一來減)
例:
11011 27
- 10010 相當於十進制 -18
---------------- ===========> ----------
01001 9
(十七)補數運算
電腦最基本的運算方式為加法。 因電腦上為了簡化減法與除法的電路設計,因此,遂採用補數的方法來表示負數。利用加法,加其負數(用2的補數表示法代替),即得減法功效。若利用8 bit來表達整數型態資料,且最左位元0代表正數,1代表負數,負數與正數間互為2的補數,則可表示之範圍為 -128∼+127,即-2n-1∼+2n-1。
1的補數求法:要領:將1變 0,0 變1。
例如:求(00001101)的1's補數------->為(11110010)
27 ( )若利用8 bit來表達整數型態資料,且最左位元0代表正數,1代表負數,負數與正數間互為2的補數,則可表示之範圍為0∼255。
584( )電腦最基本的運算方式為何?(1)加法(2)除法(3)減法(4)乘法。
574( )通常電腦內部表示負的整數是用(1)2的補數表示法(2)8的補數表示法(3)10的補數表示法(4)9的補數表示法。
597( )00001101之1的補數是?(1)11110011(2)11110010(3)10001101(4)00001110。
2的補數求法:要領:先求1的補數,把結果加1。
例如: 求(1101111001)2的2'S補數
1101111001 → 將1變 0,0 變1
0010000110 ← 1'S補數
+) 1 → 把結果加1
─────────────
0010000111 ← 2'S補數
587( )1101111001之2的補數為下列何者?(1)1111111001(2)1101111010(3)0010000111(4)0010000110。
631( )二進位數值 01101101,其2的補數值為(1)01101101(2)10010010(3)10010011(4)01101110。
(十八)同位檢查(Parity Checking)
二進位編碼所組成的資料在運用時,通常會另加一個bit,用來檢查資料是否正確,此bit稱為同位檢查(Parity Checking),它是一項資料錯誤檢查的技術,例如:011110100中的1之個數為5,為具有奇同位性,而111111110中的1之個數為8,為具有偶同位性。
603( )同位檢查(Parity Checking)是一項資料錯誤檢查的技術,下列何者不具有偶同位性?(1)111111110(2)101110000(3)011110100(4)011100001。
623( )二進位編碼所組成的資料在運用時,通常會另加一個bit,用來檢查資料是否正確,此bit稱為(1)check bit(2)extended bit(3)parity bit(4)redundancy bit。