- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Foundations of Computer Science;數目系統(number system)(或數字系統)定義一個數字如何使用不同符號來表示。
位置數目系統
非位置數目系統;在位置數目系統(positional number system),符號在數字所擺放的位置決定了它表示的值。
± (Sk?1… S2 S1 S0. S?1 S?2 … S?l )b
其值為:
其中 S 是符號的集合,b 是基底(base)〔或底(radix)〕,其數
量等同集合 S 的符號數量,而 Sk 和 Sl 分別為數字的整數部分和小
數部分。 ;; p.19;範例 2.1
下面是以位值表示在十進位系統的整數 +224。
注意,數字 2 在位置 1 的值是 20,但一樣的數字在位置 2 的值是
200。還有一點也要注意,我們通常捨棄正號,但它只是被隱藏。;範例 2.2
下面是以位值表示在十進位系統的整數 –7508。我們使用 1, 10,
100 和 1000 來取代 10 的次方。;;範例 2.3
下面是以位值來表示一個實數 +24.13。;; p.21;範例 2.4
下面是一個等於十進位數 25 的二進位數 (11001)2。下標的 2 是表
示基底為 2。
注意,這相當於十進位數 N = 16 + 8 + 0 + 0 + 1 = 25。;二進位系統的實數其值的計算方式如下:
其中 Si 是一個位元,基底 b = 2,k 是左邊的位元數量,而 l 是小數點右邊的位元數量。;範例 2.5
下面是一個等於十進位數 5.75 的二進位數 (101.11)2。
注意,這個值在十進位數是 R = 4 + 0 + 1 + 0.5 + 0.25 = 5.75。;; p.23;範例 2.6
下面是一個等於十進位數字 686 的十六進位數字 (2AE)16。;; p.24;範例 2.7
下面是一個等於十進位數 686 的八進位數 (1256)8。
注意,這個值在十進位數是 N = 512 + 128 + 40 + 6 = 686。; p.24; p.25;任何基底轉換成十進位
把來源系統的每個數字乘上它的位值並再加上相乘結果即可得到十進位系統的數字。;範例 2.8
下面顯示如何把二進位數轉換成十進位數:(110.11)2 = 6.75。;範例 2.9
下面顯示如何把十六進位數 (1A.23)16 轉換成十進位數。
注意,十進位結果並不確準,因為 3 × 16–2 = 0我們取
四捨五入成三個位數 (0.012),換句話說,(1A.23)16 ≈ 26.137。當我
們把十進位數轉換成十六進位時,需要明確指出允許小數點右邊
有多少數字。;範例 2.10
下面顯示如何轉換 (23.17)8 成十進位數。
這個意思是指在十進位裡 (23.17)8 ≈ 19.234。我們再一次取四捨五
入 7 × 8–2 = 0.109375。;將十進位數字轉成任何基底
整數部分可以使用重複除法的方式來轉換。
使用重複乘法的方式可以轉換小數部分。; p.27; p.27;範例 2.11
下面顯示如何把十進位數字 35 轉換成二進位數字。一開始數字是
十進位,我們只要除以 2 得到商和餘數就往左移。轉換的結果為
35 = (100011)2。;範例 2.12
下面顯示如何把十進位數字 126 轉換成八進位系統的等值。我們
只要除以 8 得到商和餘數就往左移。轉換的結果為 126 = (176)8。;範例 2.13
下面顯示如何把十進位數字 126 轉換成十六進位系統的等值。只
要除以 16 得到商和餘數就往左移。轉換的結果為 126 = (7E)16。;範例 2.14
轉換十進位數字 0.625 為二進位。
解答
因為數字 0.625 沒有整數部分,本例顯示了如何計算出小數部分。
最後的結果是 (0.101)2。; p.29; p.29;範例 2.15
下面顯示如何把 0.634 轉換成八進位,最多使用四個位數。計算的
結果為 0.634 = (0.5044)8。注意,我們是乘以 8(八進位)。;範例 2.16
下面顯示如何把十進位 178.6 轉換成十六進位,小數點右邊只使用
一個位數。計算的結果為 178.6 = (B2.9)16。注意,我們是除以或乘
以 16(十六進位)。;範例 2.17
另一種轉換很小的十進位數字(通常小於 256)為二進位數字的方
案是把數字打散,即將數字分割成二進位的位值和,表示如下:
使用這個表,可以轉換 165 為二進位 2,表示如下:;範例 2.18
一個相似的方法可以被用來轉換十進位分數為二進位,當分母是
二的
文档评论(0)