數位資料表示法 2-1 資料型態 2-2 二進位表示法 2-3 各種進位表示法的轉換 2-4 整數表示法 2-5 浮點數表示法

Slides:



Advertisements
Similar presentations
SPOTLIGHT 數字系統與編碼系統 1. 相信大家都已經知道,電腦是透過0與1的位元 (bit) 來處理資 料的數位電子裝置。人類社會所使用的數字系統 (number system) ,或稱為數值系統,是早在文明還未進化的時代就已經 因為十根手指頭的關係而採用了十進制至今。
Advertisements

1 1.2 信息的表示与存储  数据:数据是对客观事物的符号表示。 如,数值、文字、语言、图形、图像等都是不同形 式的数据。  信息:信息是既是对客观事物变化和特征的反映,又 是事物之间相互作用、相互联系的表征。 信息必须数字化编码,才能用计算机进行传送、存 储和处理。 信息具有针对性和时效性。
12008Fall Semester Introduction to Computer Science Chapter 2 Data Representation and Storage Speaker: Ying Chih Lin Department of Applied Mathematics.
第一單元 建立java 程式.
數字碼 加權碼 非加權碼 以各種數字系統表示的數碼 (如十進位、二進位、八進 位、十六進位等) BCD碼(又稱8, 4, 2, 1碼)
第2章 數位資料表示法 2-1 資料型態 2-2 二進位表示法 2-3 各種進位表示法的轉換 2-4 整數表示法 2-5 浮點數表示法
電腦硬體基礎 Fundamental of Hardware
汉字编码 汉字编码.
Unicode和多语言信息处理 adoal.
JAVA 程式設計 資訊管理系 - 網路組.
第二章 數字系統:電腦內部的資料表示法 在第一章中,我們對於電腦有了初步的認識,在深入介紹電腦的各項組成元件之前,首先我們必須先了解另一種不同於人類使用習慣的二進位表示法,由於電腦的半導體、磁性、光學元件適合用來表示二進位,因此二進位表示法非常適合用來設計電腦。
數字系統與資料表示法.
單元1: 基本概念.
附錄A 數字系統與資料保護法 A-1 數字系統 A-2 資料表示法.
Speaker :Fanjia Yen Adviser : Quincy Wu Date : 2007/11/15
數字系統與資料表示法 電腦的基本單位 數字系統 數值資料表示法 數值資料與算數運算 數碼系統 浮點數表示法 文字表示法 資料來源:周裕達教授.
Foundations of Computer Science Chapter 3 資料的儲存
數位資料表示法 2-1 資料型態 2-2 二進位表示法 2-3 各種進位表示法的轉換 2-4 整數表示法 2-5 浮點數表示法
中文輸入 拼音輸入法 拆字輸入法 綜合拼音與拆字輸入法 中文手寫輸入法 掃描、中文圖形輸入: 語音輸入法: 微軟新注音、自然輸入法
第三章: 基本資料型態.
電腦系統 硬體 輸入單元 控制單元 算術邏輯單元 記憶單元 輔助儲存單元 輸出單元 軟體 作業系統 應用軟體 程式語言.
資料表示法與數字系統 主講:顧叔財 資料來源: 計算機概論.
A3-1 數字系統 A3-2 資料表示法 A3-3 資料的儲存
4B冊 認識公倍數和最小公倍數 公倍數和最小公倍數的關係.
Java程式概觀.
SQL Stored Procedure SQL 預存程序.
安裝JDK 安裝Eclipse Eclipse 中文化
數位邏輯 第2章數字系統 2-1數目系統 2-2數目系統的互換 2-3二進制有號數的加減運算 2-4文數字碼與同位偵錯碼.
數獨教學 范國祥製作 於新湖國小 數獨資料來源
日 月 明 生 星 期 今 天 昨 你 我 他 的 幾 是 qí wŏ Rì yuè jīn tā míng tiān de shēng
第三章 數字系統與資料表示法 課前指引 也許您也早已聽過,電腦實際處理的資料,其實只有0 與1這兩種資料。對電腦來說,所有東西都是一個數字(0 或1 所組成)。字母、字串和標點符號是數字,聲音和圖片是數字,甚至電腦本身的指令也是數字。
6-1 資料表示法簡介 6-2 數值表示法 6-3 數字系統介紹 6-4 數字系統轉換方式
FPGA計算浮點數的方法 姓名:蔡秉旂.
第一章 直角坐標系 1-1 數系的發展.
中文缺字在數位典藏系統之應用 ~網頁缺字處理技術
IT&SAMS小組 (IIT - 倉頡輸入法)
URL(Uniform Resource Locator)
第一單元 建立java 程式.
電腦硬體 Chapter 電腦的基本單位 2-2 數字系統 2-3 數值表示法 2-4 文字表示法 2-5 數字系統轉換
C程式的架構 基本的資料型態 變數的宣告 常見的語法錯誤 基本的運算 優先順序與結合律 資料型態的轉換
第三章 資料型態與輸出控制 本章學習目標 認識Matlab的基本資料型態 練習資料型態的轉換 學習如何控制Matlab的輸出格式
數學 近似值 有效數值.
JAVA 程式設計 資訊管理系 - 網路組.
輸入&輸出 函數 P20~P21.
Definition of Trace Function
小學四年級數學科 8.最大公因數.
2-1 數位化概念 2-2 資料的數位化 ※ 2-3 基本數位邏輯處理
如何使用Gene Ontology 網址:
第2章 電腦基本原理 2-1 數位化觀念 資訊科技概論--電腦科學導論.
猜數字遊戲.
Chapter 2 Data Representation.
MiRanda Java Interface v1.0的使用方法
計算機程式設計 老師:蘇炳煌 助教:楊斯竣.
第九章 布林代數與邏輯設計.
1.電腦數字系統介紹 2.電腦數字系統轉換 3.資料在電腦內部的表示法
1-1 二元一次式運算.
國中資訊教育(I) 第二章 認識電腦 2-2 資料的表示.
數位邏輯 第2章數字系統 2-1數目系統 2-2數目系統的互換 2-3二進制有號數的加減運算 2-4文數字碼與同位偵錯碼.
國立成功大學化工系 鄭智元副教授 研究室 Tel: 62664
1757: Secret Chamber at Mount Rushmore
13194: DPA Number II ★★☆☆☆ 題組:Problem Set Archive with Online Judge
資料表示方法 資料儲存單位.
第三章 指數與對數 3-1 指數 3-2 指數函數及其圖形 3-3 對數 3-4 對數函數及其圖形 3-5 常用對數 回總目次.
Programming & Language Telling the computer what to do
信息及其特征.
10303: How Many Trees? ★★☆☆☆ 題組:Contest Archive with Online Judge
11621 : Small Factors ★★☆☆☆ 題組:Problem Set Archive with Online Judge
7. 三角學的應用 正弦公式 餘弦公式 a2 = b2 + c2 - 2bc cos A b2 = a2 + c2 - 2ac cos B
快取映射 之直接對映 計算整理.
InputStreamReader Console Scanner
Presentation transcript:

數位資料表示法 2-1 資料型態 2-2 二進位表示法 2-3 各種進位表示法的轉換 2-4 整數表示法 2-5 浮點數表示法 2-6 ASCII及Unicode

0與1的組合

數位資訊的單位 位元(binary digit,簡稱bit)是數位資訊的基本粒子,也是電腦儲存或傳遞資料的最小單位,常用0或1來表示 當初電腦會採用位元表示資料,主要是因為電子元件的穩定狀態有兩種: 早期電腦以8個位元為存取單位,因此8個位元稱為 一種是「開」(通常用來表示“1”) 一種是「關」 (通常用來表示“0”) 位元組(byte)

數位資訊的單位(續) 縮寫單位 全名 精確位元組個數 大約位元組數 範例 KB Kilo Byte 210 = 1,024 一千(103) MB Mega Byte 220 = 1,048,576 一百萬(106) 此大姆碟的容量為512 MB。 GB Giga Byte 230 = 1,073,741,824 十億(109) 本片DVD的容量為4.7 GB。 TB Tera Byte 240 = 1,099,511,627,776 一兆(1012) 這部高容量磁碟可儲存20 TB的資料。

2-1 資料型態 數 字 資料類型 文 字 影像、圖片 語音、音樂 影片、動畫

2-2 二進位表示法 一個數字在不同的位置上所表示的數值也就不同,如三位數“523”,右邊的“3”在個位上表示3個一,中間的“2”在十位上就表示2個十,左邊的“5”在百位上則表示5個百,換句話說,523 = 5×102 + 2×101 + 3 以B為基數,則dndn-1…d2d1.r1r2…rm-1rm所表示的數為dn×Bn-1 + dn-1×Bn-2 + … + d2×B1 + d1×B0 + r1 ×B-1 + r2×B-2 + … + rm-1×B-(m-1) + rm×B-m 二進位表示法:B=2 註:若數值表示成dndn-1…d1d0.r-1r-2…,則次方更一致。

二進位、十進位、十六進位 十進位 二進位 十六進位 8 1000 1 9 1001 2 10 1010 A 3 11 1011 B 4 8 1000 1 9 1001 2 10 1010 A 3 11 1011 B 4 100 12 1100 C 5 101 13 1101 D 6 110 14 1110 E 7 111 15 1111 F

一個字根問題 Octal – 八進位;Decimal – 十進位 Oct-這個字根代表8;Dec-這個字根代表10 為什麼October 不是八月而是十月? 為什麼 December不是十月而是十二月?

因為插入了七月和八月 July源於凱撒(Julius Caesar) 之名,在凱撒之前就有曆法,那時是以March為一年的開端,而July是第十五個月;凱撒修改曆法後,將一年的開始訂為January,而將July提升到第七位,這個改變一直沿用至今。 凱撒的繼承人奧古斯都(Augustus)去世後,羅馬元老院決定將他列入「神」的行列,並且將8月稱為「奧古斯都」月,這也是歐洲語文中8月的來源。 那二月為什麼只有二十八天呢?

二月被砍過兩天 二月為什麼通常只有二十八天? 凱撒(Julius Caesar)修改曆法時,本來規定每年十二個月裡,逢單是大月三十一日,逢雙是小月三十日,但是這樣算下來,一年就變成三百六十六日,所以必須設法在一年中扣去一天。那時候判處死刑的人犯均在二月分執行,因此人們認為二月是不吉利的月分,既然要扣除一天,那麼就由二月分來扣掉,讓不吉利的日子減少一天,因此二月分就成了二十九日。 七月是逢單為大月三十一日,為了讓八月也偉大,就改為大月三十一日。糟了!又多出一天怎麼辦?那還是由二月分來扣除,結果二月分就變成二十八日。

2-3 各種進位表示法的轉換 二進位轉十進位 10110101.11012所對應的十進位數為181.8125

十進位整數轉二進位 十進位181所對應的二進位數為101101012

十進位小數轉二進位 十進位0.8125所對應的二進位數為0.11012

十進位0.1的二進位表示法為何? 十進位0.1所對應的二進位數為無窮位數的0.000110011...2

二進位數換成十六進位數時,每四個位數合成一項 二進位轉十六進位 二進位數換成十六進位數時,每四個位數合成一項

二進位轉十六進位 110110101.110112的十六進位表示法為1B5.D816

十六進位轉二進位 1B5.D816的二進位表示法為110110101.110112

2-4 整數表示法 表2-2:以8位元所表示的「無正負符號的整數」 位元字串 十進位數 00000000 00000001 1 00000001 1 00000010 2 ... 11111110 254 11111111 255

帶正負符號大小表示法 表2-3:以8位元所表示的「帶正負符號大小表示法」 位元字串 十進位數 00000000 00000001 1 ... 00000001 1 ... 01111111 127 10000000 -0 10000001 -1 11111111 -127

一補數表示法 給定一個十進位數值,轉換成它的一補數表示法步驟如下: 先忽略其符號,將數字的部分轉成二進位數值。 步驟1 先忽略其符號,將數字的部分轉成二進位數值。 步驟2 若該二進位數值超過n - 1 個位元, 則為「溢位」(overflow),無法進行轉換;否則在它的左邊補0,直到共有n個位元為止。 步驟3 若所要轉換的數為正數或零,則步驟2所得數值即為所求;若為負數,則將每個位元做補數轉換,原為0的轉成1;原為1的轉成0。(好像打拱豬時的豬羊變色)

-41的一補數表示法為11010110

一補數轉十進位 如果最左邊的位元是0,則表示該數是正數,只要將後面的位元以前面介紹的二進位轉十進位方式求出其數值即可。 如果最左邊的位元是1,則表示該數是負數,先將每個位元做補數轉換,原為0的轉成1;原為1的轉成0。然後將該二進位轉成十進位,再加上一個負號即可。 範例9 給定一補數11010110,因為最左邊的位元是1,所以我們先將這補數原為0的轉成1;原為1的轉成0,得00101001。再將二進位的00101001轉成十進位的41,然後加上一個負號得-41。

二補數表示法 給定一個十進位數值,轉換成它的二補數表示法步驟如下: 先忽略其符號,將數字的部分轉成二進位數值。 步驟1 先忽略其符號,將數字的部分轉成二進位數值。 步驟2 若該二進位數值超過n - 1個位元, 則為「溢位」(overflow),無法進行轉換;否則在它的左邊補0,直到共有n個位元為止。 步驟3 若所要轉換的數為正數或零,則上步所得數值即為所求;若為負數,則最右邊的那些0及最右邊的第一個1保持不變,將其餘的每個位元做補數轉換,原為0的轉成1;原為1的轉成0。

40和-40的二補數表示法為何? 範例10 40的二補數表示法為何? 第一步先將40轉成二進位數值101000;第二步在二進位數值左邊補上0,使得00101000共有8個位元,因為要表示的數為正數,所以00101000即為所求。 範例11 -40的二補數表示法為何? 第一步先將40轉成二進位數值101000;第二步在二進位數值左邊補上0,使得00101000共有8個位元;這時所要表示的數為負數,所以最右邊的三個0及第一個1維持不變,其餘的將原為0的轉成1;原為1的轉成0,得11011000。

二補數轉十進位 如果最左邊的位元是0,則表示該數是正數,只要將後面的位元以前面介紹的二進位轉十進位方式求出其數值即可。 如果最左邊的位元是1,則表示該數是負數,保留最右邊的那些0及最右邊的第一個1,將其餘的每個位元做補數轉換,原為0的轉成1;原為1的轉成0。然後將該二進位轉成十進位,再加上一個負號即可。 範例12 給定二補數11011000,因為最左邊的位元是1,所以我們先保留最右邊的那三個0及最右邊的第一個1,再將其他的位元原為0的轉成1;原為1的轉成0,得00101000。再將二進位的00101000轉成十進位的40,然後加上一個負號得-40。

二補數表示法位元字串與數值的對應關係

二補數表示法的兩正數相加

二補數表示法的一正一負相加,且結果為正 二補數表示法的一正一負相加,且結果為負

二補數表示法的兩正數相加結果超過正數儲存範圍 二補數表示法的兩負數相加 二補數表示法的兩正數相加結果超過正數儲存範圍

二補數表示法的兩負數相加結果小於負數儲存範圍 -40的二補數表示法正好是28-40

為何二補數可以這樣做運算 假設是n bits 正數 + 正數 (和一般情況一樣) 負數(-x) + 負數(-y) -x在二補數表示值為 2n-x -y在二補數表示值為 2n-y 2n - x + 2n - y = 2n + (2n - (x+y)) 進位 -(x+y)的二補數表示法

為何二補數可以這樣做運算(續前頁) 正數 (x) + 負數 (-y) -y在二補數表示值為 2n-y 得 2n+x-y (1) x >= y x-y為正值或0;2n為進位 (2) x <y 2n+x-y = 2n-(y-x) -(y-x)的二補數表示法

2-5 浮點數表示法 IEEE 754標準 單倍精準數 1 8 23 符號 指數部分 尾數部分 雙倍精準數 1 11 52 符號 指數部分

單倍精準數 1個位元,以0表示正數;以1表示負數。 符號位元 8個位元,以過剩127(Excess 127)方式表示。 指數部分 尾數部分 23個位元,從標準化的小數點後開始存起,不夠的位元部分補0。

浮點數表示法 實數10110.100011 的浮點數表示法 實數-0.0010011的浮點數表示法 範例19 給定一實數10110.100011,先轉換成1.0110100011×24,因為是正數,所以符號位元為0,其尾數部分為0110100011,指數部分為4,以過剩127方式儲存,必須先加上127,得131,再將131轉換成二進位,得10000011。因此10110.100011若按IEEE 754標準儲存,為 01000001101101000110000000000000。 實數10110.100011 的浮點數表示法 範例20 -0.0010011又是如何儲存呢?先轉換成-1.0011×2-3,因為是負數,所以符號位元為1,其尾數部分為0011,指數部分為-3,以過剩127方式儲存,必須先加上127,得124,再將124轉換成二進位,得01111100。因此-0.0010011若按IEEE 754標準儲存,為10111110000110000000000000000000。 實數-0.0010011的浮點數表示法

浮點數表示法的數值 範例21 在IEEE 754標準下,01000010100101000110000000000000所儲存的數值為多少呢?首先,位元符號為0,所以是正數,指數部分是10000101,換成十進位為133,再減去127,得6,因此,01000010100101000110000000000000所儲存的數值為1.0010100011×26,也就是1001010.0011。 範例22 在IEEE 754標準下,10000010100101000110000000000000所儲存的數值為多少呢?首先,位元符號為1,所以是負數,指數部分是00000101,換成十進位為5,再減去127,得-122,因此,10000010100101000110000000000000所儲存的數值為 -1.0010100011×2-122 。

請試試下面的例子 (IEEE 754單倍精準數表示法) 1.5 125.625 0 01111111 10000000000000000000000 0 10000101 11110110100000000000000 http://babbage.cs.qc.edu/IEEE-754/Decimal.html (芃安助教提供的驗算網址)

IEEE 754單倍精準數 0的公訂表示法為 00000000000000000000000000000000 10000000000000000000000000000000也是0(代表-0) 指數部分的-127(00000000)和+128(11111111)作為特殊用途 最小的正數為 00000000100000000000000000000000其數值為+2-126 最大的正數為 01111111011111111111111111111111其數值為(2-2-23) ×2127

2-6 ASCII及Unicode 在電腦裡,所有的文字也存成位元字串,因此我們必須有公定的對照表,以便我們能在儲存時將文字轉成位元字串,而在解讀時能將位元字串轉回文字 ASCII Big5 Unicode GB EBCDIC

ASCII (7位元)

Unicode What is Unicode? Unicode provides a unique number for every character, no matter what the platform, no matter what the program, no matter what the language. 萬國碼係啥米碗糕啊? 每個字符在萬國碼中有個唯一的代號 無論在哪種機器上 無論在哪個程式裡 無論用哪種語言

Unicode UTF-8 UTF-16 UTF-32 8位元 16位元 32位元 趙(8D99) 坤(5764) 茂(8302) 已發展出多種編碼方式: 分別以: 為基本單元的編碼方式。 UTF-8在全球資訊網最通行,UTF-16為Java及Windows所採用,而UTF-32則為一些Unix系統使用 e.g. 在UTF-16編碼方式中: UTF-8 UTF-16 UTF-32 8位元 16位元 32位元 趙(8D99) 坤(5764) 茂(8302)

Unicode符號對照表 範 圍 代表的字符群 0000-007F 基本拉丁字符(與ASCII相同) 0080-024F 擴充的拉丁字符 0370-03FF 希臘字符 0E00-0E7F 泰文 0E80-0EFF 寮文 2200-22FF 數學符號 2500-25FF 方塊圖形及幾何圖形 3040-30FF 平假名及片假名 4000-9FFF CJK;中文、日文及韓文之漢字

Unicode官方網頁www.unicode.org

從造字程式找

從造字程式找(續) 按確定選擇字碼 從視窗欄選參照 在形狀區輸入中  文字

Unicode Translation Format 在實際應用上,Unicode 並非皆以16位元儲存字元,讀者可參照Wikipedia上的相關條目。 UTF-8(以8位元為基本編碼單元的Unicode Translation Format)vs. UTF-16(以16位元為基本編碼單元的Unicode Translation Format) 在UTF-8的編碼方式中,傳統的ASCII字符仍以一個位元組儲存(位元組首位為0,後面的7位元為原ASCII的編碼)。例如: 在UTF-8的編碼方式中,其餘非ASCII字符,再依類別而有不同長度的編碼方式。例如: 「MadEdit」是一個免費的跨平台編輯軟體,它可檢視各個 字符在不同編碼法下的十六進位數值。(感謝大葉大學李立 民教授來函介紹) 「A」的UTF-8為「41」 UTF-16則為「0041」 「趙」的UTF-8為「E8B699 」 UTF-16則為「8D99」