chapter 02 introduction to data representation...

34
Chapter 02 Introduction to Data Representation กกกกกกกกกกกกกกกกกกกกกกกกก กกกกกก ก.กกกกก กกกกกกกกก กกกกกกกกกกกกกกกกก กกกกกกกกกกกกกกกกกกกกก www.ict.up.ac.th/yeunyong

Upload: doris-foreman

Post on 03-Jan-2016

67 views

Category:

Documents


0 download

DESCRIPTION

Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์. ผู้สอน อ. ยืนยง กันทะเนตร สาขาวิชาเทคโนโลยีคอมพิวเตอร์เคลื่อนที่ www.ict.up.ac.th/yeunyong. Introduction Binary number system Number Representation Text Representation Graphic Representation. Overview. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

Chapter 02Introduction to Data Representationการแทนข้�อมู�ลในคอมูพิ�วเตอร�

ผู้��สอน อ.ยื�นยืง ก�นทะเนตรสาข้าว�ชาเทคโนโลยื�คอมูพิ�วเตอร�เคล� อนท� www.ict.up.ac.th/yeunyong

Page 2: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

2

Overview• Introduction• Binary number system• Number Representation• Text Representation• Graphic Representation

Page 3: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

3

Objective• เพิ� อให้�น�ส�ตเข้�าใจห้ล�กการข้องเลข้ฐานสอง

เบื้�%องต�น• เพิ� อให้�น�ส�ตเข้�าใจว�ธี�การแทนค'าข้�อมู�ลร�ป

แบื้บื้ต'างๆ ในคอมูพิ�วเตอร�

Page 4: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

4

Introduction• การท� เราจะส� งให้�คอมูพิ�วเตอร�ท*างาน• ต�องร��ว'าคอมูพิ�วเตอร�ท*างานอยื'างไร???

• การท� เราจะร��ว'าคอมูพิ�วเตอร�ท*างานอยื'างไร ???• ต�องร��ว'าข้�อมู�ลต'างๆ เก,บื้ในคอมูพิ�วเตอร�ได้�

อยื'างไร ???• เพิลง, ห้น�ง, ร�ป, ไฟล�เอกสาร ฯลฯ เก,บื้อยื'างไร ???• คอมูพิ�วเตอร�ร��จ�ก และท*างานก�บื้ข้�อมู�ลเห้ล'าน�%ได้�

อยื'างไร ???

Page 5: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

5

Introduction [cont.]• คอมูพิ�วเตอร�เป0นอ1ปกรณ์�ไฟฟ3า• ข้�อมู�ลท� ร��จ�กค�อส�ญญาณ์แบื้บื้ด้�จ�ตอล• คล�ายืท�ว�, ว�ทยื1ท� ร��จ�กส�ญญาณ์แบื้บื้อนาล,อก

• ใช�การแทนค'าร�ปแบื้บื้ส�ญญาณ์เพิ� อแทนข้�อมู�ลชน�ด้ต'างๆ ในโลกความูจร�ง

Image(s): FreeDigitalPhotos.n

et

Page 6: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

6

เครดิ�ตร�ปจาก http://computertru.blogspot.com/2010/01/blog-post_06.html

Introduction [cont.]

Page 7: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

7

Introduction [cont.]• ส�ญญาณ์(ข้�อมู�ล)ด้�จ�ตอล ส�ญญาณ์ไฟฟ3า มู� –2 สถานะ• on/off , เป6ด้/ป6ด้ , มู�ส�ญญาณ์/ไมู'มู�ส�ญญาณ์• แทนได้�ด้�วยืเลข้ 1 และเลข้ 0•แต'ละต�วจะเร�ยืกว'า บื้�ต (Bit) – Binary Digit

• ส�ญญาณ์เห้ล'าน�%จะแทนข้�อมู�ลต'างๆ ในคอมูพิ�วเตอร�อ�กท�1 0 1 1 0 1 0 1

Page 8: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

8

Binary number system• ในช�ว�ตประจ*าว�น เราใช� ระบื้บื้เลข้ฐาน 10 (Decimal Number System) ซึ่8 งมู�ต�วเลข้ท� ใช�อยื�' 10 ต�ว ค�อ

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

• 8310 (83 ฐาน 10) มู�ความูห้มูายืค�อ (ผู้ลรวมูข้องค'าคงท� ประจ*าห้ล�ก ค�ณ์ก�บื้ ฐานยืกก*าล�งด้�วยืค'าน*%าห้น�กข้องห้ล�กน�%นๆ (เร� มูท� 0 ในห้ล�กห้น'วยื))

83 = (8 x 101) + (3 x 100)

Page 9: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

9

Binary number system [cont.]• ระบื้บื้เลข้ฐานสอง (Binary Number System)• ใช�เลข้ 0 และ 1 ในการแทนค'าข้�อมู�ลเท'าน�%น

• 11102 (1110 ฐาน 2) มู�ความูห้มูายืค�อ (ผู้ลรวมูข้องค'าคงท� ประจ*าห้ล�ก ค�ณ์ก�บื้ ฐานยืกก*าล�งด้�วยืค'าน*%าห้น�กข้องห้ล�กน�%นๆ (เร� มูท� 0 ในห้ล�กห้น'วยื))

11102 = (1x23) + (1x22) + (1x21) + (0x20)

= 14

Page 10: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

10

ห้น�าจ1ด้ทศน�ยืมู ห้ล�งจ1ด้ทศน�ยืมู

ค'าน*%าห้น�ก 3 2 1 0 -1 -2

ฐานค'าน*%าห้น�ก 23 22 21 20 2-1 2-2

ค'าคงท� ประจ*าห้ล�ก

8 4 2 1 0.5 0.25

Binary number system [cont.]

10102 = (1x23) + (0x22) + (1x21) + (0x20)

= 80.112 = (1x2-1) + (1x2-2)

= 0.75

Page 11: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

11

Binary number system [cont.]• จงแปลงเลข้ฐานสองต'อไปน�%ให้�เป0นเลข้

ฐานส�บื้• 10012

• 11112

• 100012

• 110102

• 1101002

• 1001102

Page 12: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

12

ความูร��เพิ� มูเต�มู• คอมูพิ�วเตอร�ร��จ�กแต'ส�ญญาณ์ด้�จ�ตอล ซึ่8 งเข้�ยืนแทนได้�ด้�วยืเลข้ฐานสอง• ข้�อมู�ลท1กอยื'างท� เก,บื้ในคอมูพิ�วเตอร� เก�ด้จาก

กล1'มูข้องส�ญญาณ์ด้�จ�ตอล ซึ่8 งใช�แทนความู“ ”ห้มูายืข้องข้�อมู�ลชน�ด้ต'างๆ อ�กท� ซึ่8 งเร�ยืกว'า Data Representation• ในการแทนข้�อมู�ลชน�ด้ใด้ๆ ก,ตามู ต�องมู�การ

ก*าห้นด้ ข้นาด้ห้ร�อจ*านวนบื้�ตท� จะใช�แทนข้�อมู�ล ด้�วยืเสมูอ ซึ่8 งห้น'วยืข้�อมู�ลคอมูพิ�วเตอร� มู�ห้น'วยืด้�งน�%

Page 13: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

13

ความูร��เพิ� มูเต�มู [ต'อ]ห้น'วยื จ*านวน ค'า

byte (B) 8 bit (b) 8 bit (b)kilobyte (KB)or kibibyte (KiB)

210 byte 103 byte

1,024 byte

megabyte (MB)or mebibyte (MiB)

220 byte 106 byte

1,024 KB1,048,576 byte

gigabyte (GB)or gibibyte (GiB)

230 byte 109 byte

1,024 MB1,073,741,824 byte

terabyte (TB)or tebibyte (TiB)

240 byte 1012 byte

1,024 GB1,099,511,627,776 byte

http://egret.net/kb__mb.htmhttp://users.nlamerica.com/kevin/Bitsbytes.htm

Page 14: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

14

Number Representation• การแทนข้�อมู�ลในร�ปแบื้บื้ต�วเลข้ (ปกต�เป0นเลข้

ฐานส�บื้)• ต�วเลข้มู�ความูห้มูายื สามูารถน*าต�วเลข้ 2 ต�วมูา

ค*านวณ์(แบื้บื้เลข้ฐานสอง) ได้� โด้ยืใช�การออกแบื้บื้วงจรใน CPU• ใช�พิ�%นฐานเด้�ยืวก�บื้การเข้�ยืนเลข้ฐานสองแทนเลข้

ฐานส�บื้• ป:ญห้าท� ต�องอภิ�ปรายื• เลข้ทศน�ยืมูฐานสองแทนเลข้ทศน�ยืมูฐานส�บื้ได้�

ยืาก ???• เลข้ท� มู�ค'าเป0นลบื้ จะแทนอยื'างไร ???• จ*านวนบื้�ตท� ใช� ส'งผู้ลกระทบื้อยื'างไร ???

Page 15: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

15

Number Representation [cont.]

• ในการแทนต�วเลข้ โด้ยืมูาตรฐานก*าห้นด้เป0น 2 แบื้บื้ห้ล�ก• การแทนเลข้จ*านวนเต,มู• การแทนเลข้ทศน�ยืมู

• แต'ละแบื้บื้ยื�งมู�ประเภิทยื'อยืๆ อ�กห้ลายืประเภิท• สถาป:ตยืกรรมูข้องเคร� องคอมูพิ�วเตอร�ท� แตก

ต'างก�น• เทคโนโลยื�อด้�ต ป:จจ1บื้�น–

Page 16: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

16

การแทนเลข้จ*านวนเต,มู• ใช�พิ�%นฐานเด้�ยืวก�บื้การเข้�ยืนเลข้ฐานสองแทนเลข้ฐานส�บื้• มู�ท�%งแบื้บื้ signed (บื้วก,ลบื้) และ unsigned (บื้วกเท'าน�%น)• การเก,บื้แบื้บื้ signed ใช�ได้�ห้ลายืว�ธี� เช'น• Sign-Magnitude เพิ� มู 1 บื้�ตแทน

เคร� องห้มูายืบื้วก/ลบื้• 1’s Complements , 2’s Complements มู� 1 บื้�ตแทนเคร� องห้มูายืคล�ายื sign-magnitude แต'ข้�อมู�ลส'วนท� เห้ล�อใช�ห้ล�กการทางคณ์�ตศาสตร�ในการเก,บื้ข้�อมู�ล เพิ� อให้�มู�ประส�ทธี�ภิาพิมูากข้8%น

Page 17: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

17

การแทนเลข้จ*านวนเต,มู [ต'อ]• จ*านวนบื้�ตท� ใช� - 1 ไบื้ต�, 2 ไบื้ต� , 4 ไบื้ต� , 8 ไบื้ต�• จ*านวนบื้�ตท� ใช�ยื� งมูาก -> แทนต�วเลข้ท� มู�ค'ามูากๆ

ได้� • เช'น ถ�าใช�พิ�%นท� 1 ไบื้ต�• แบื้บื้ unsigned -> 0 ถ8ง 255• แบื้บื้ signed (เคร� องห้มูายื 1 บื้�ต) -> -128

ถ8ง 127• ถ�าใช�พิ�%นท� 2 ไบื้ต�• แบื้บื้ unsigned -> 0 ถ8ง 65,535• แบื้บื้ signed (เคร� องห้มูายื 1 บื้�ต) -> -32,768 ถ8ง 32,767

Page 18: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

18

การแทนเลข้จ*านวนจร�ง• ใช�การเก,บื้แบื้บื้ exponential ห้ร�อ Floating point ซึ่8 งอยื�'ในร�ปข้อง +/- significand x 10exponent

• เช'น +1.637 x 109 => 1,637,000,000• เช'น -3.5416 x 10-5 => -0.000035416

• แต'เป0น exponential ในร�ปข้องเลข้ฐานสอง• เช'น +1.101 x 25 => 110100• เช'น -0.11 x 2-3 => -0.00011

• ข้�อมู�ลจะแบื้'งเก,บื้ 3 ส'วน ค�อ sign, significand, exponent

Page 19: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

19

การแทนเลข้จ*านวนจร�ง [ต'อ]

• จ านวนบิ�ตที่��ใช้� - 2 ไบิต�, 4 ไบิต� , 8 ไบิต� , 10 ไบิต� , 16 ไบิต� • ยิ่��งใช้�บิ�ตมาก -> แที่นต�วเลขที่��ม�ค ามากๆ หร#อเล%กมากๆ ไดิ�

TypeSign

Significand

Exponent

Total bit

Exponent bias

Half  1 10 5 16 15Single

1 23 8 32 127

Double

1 52 11 64 1023

Double extended

1 64 15 80 16383

Quad 1 112 15 128 16383

Page 20: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

20

Floating point number

แบื้บื้ 32 และ 64 bit

Page 21: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

21

Text Representation• การแทนข้�อมู�ลในร�ปแบื้บื้ต�วอ�กษร• รวมูถ8งส�ญล�กษณ์�ต'างๆ , ต�วเลข้ท� ไมู'น*ามูา

ค*านวณ์• ห้ล�กการคล�ายืก�บื้รห้�สมูอส• ใช�ต�วเลข้ (ฐานสอง) แทนต�วอ�กษร• มู� 2 ประเภิทท� น�ยืมู• ASCII • Unicode

Page 22: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

22

ASCII (American Standard Code for Information Interchange)• พิ�ฒนาโด้ยื ANSI (American National Standards Institute)

ส*าห้ร�บื้ PC • ใช�พิ�%นท� 8 Bits ในการเก,บื้ข้�อมู�ล 1 ต�วอ�กษร• เก,บื้ต�วอ�กษรท� แตกต'างก�นได้� 27 = 128

ส�ญล�ษณ์�• 1 บื้�ตเอาไว�เป0นต�วเช,คความูถ�กต�องข้องข้�อมู�ล

• เก,บื้ได้�แต'ต�วอ�กษรภิาษาอ�งกฤษ, ต�วเลข้, ส�ญล�กษณ์�พิ�เศษต'างๆ

Page 23: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

23

Page 24: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

24

Unicode• พิ�ฒนามูาเพิ� อให้�รองร�บื้ห้ลายืภิาษาท� วโลก รวมูถ8งภิาษา

ไทยื• มู�ใน WindowsXP เป0นคร�%งแรก(ส*าห้ร�บื้ผู้��ใช�ท� วไป)• มู�ห้ลายืเวอร�ช�น ส*าห้ร�บื้การใช�งานท� ต'างก�น เช'น UTF-8,

UTF-16, UTF-32 ฯลฯ• มู�ข้นาด้ได้�ส�งถ8ง 32 Bits ต'อ 1 ต�วอ�กษร• แทนส�ญล�กษณ์�ได้�ส�งถ8ง 232 ส� พิ�นล�านส�ญล�กษณ์�• รวมูรห้�ส ASCII ไว�ในต�ว ท*าให้�แทน ASCII ได้�ท�นท�

Page 25: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

25

Graphic Representation• อภิ�ปรายื : คอมูพิ�วเตอร�เก,บื้ร�ปภิาพิได้�

อยื'างไร ???

• ห้ล�กการก,เช'นเด้�ยืวก�บื้กล�องด้�จ�ตอล• ร�ปท� เก,บื้เก�ด้จากจ1ด้เล,กๆ (pixels) ห้ลายื

จ1ด้รวมูก�น• จ1ด้แต'ละจ1ด้จะมู�ค'า(ส�) เพิ�ยืงส�เด้�ยืว • คอมูพิ�วเตอร�เก,บื้รห้�สแทนส�ในแต'ละจ1ด้• มู�ห้ลายืชน�ด้

Page 26: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

Binary image: 1 bit (0 or 1)

Page 27: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

Gray image : 8 bits (0~255)

Page 28: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

Color image: 24 bits (RGB) – 16 ล�านส�

Three-dimention color space

Page 29: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

29

ป:ญห้าด้�านความูจ1• ร�ปมู�จ*านวน pixel มูาก ยื� งมู�ความูละเอ�ยืด้ส�ง• ยื� งมู�จ*านวนส�มูาก, มู�ระด้�บื้ข้องแต'ละส�เยือะ ยื� งมู�

ความูสมูจร�ง• แต'ก,แลกมูาด้�วยืปร�มูาณ์ข้�อมู�ลท� มูห้าศาล• ร�ปข้นาด้ 100 * 100 pixel ส�ข้าวด้*า• 1 pixel = 1 bit , ใช�พิ�%นท� 10000 bit = 1,250 bytes

• ร�ปข้นาด้ 800 * 600 pixel ท� ความูละเอ�ยืด้ 24 bit• 1 pixel = 3 bytes, ใช�พิ�%นท� 1,440,000 Bytes

Page 30: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

30

ป:ญห้าด้�านความูจ1 [ต'อ]• ในการเก,บื้จร�งจ8งต�องมู� การบื้�บื้อ�ด้ข้�อมู�ล “ ”• เพิ� อให้�ใช�พิ�%นท� น�อยืลง• มู�ห้ลายืว�ธี� ข้8%นอยื�'ก�บื้ จ*านวนส�, ค1ณ์ภิาพิร�ปภิาพิ,

ความูซึ่�บื้ซึ่�อนข้องอ�ลกอร�ท8มู, ฯลฯ• มูาตรฐาน เช'น jpeg, pcx, bmp, png, tiff, gif เป0นต�น

Page 31: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

31

Run-length encoding (RLE)• a very simple form of data compression• มู�กใช�ก�บื้ร�ปภิาพิข้าวด้*าห้ร�อภิาพิท� มู�ส�น�อยืๆ• ห้ล�กการ • เข้�ยืนช1ด้ข้�อมู�ลท� ซึ่*%าๆ ก�นท�ละบื้รรท�ด้ (pixel ใน

แนวนอน)• เข้�ยืนจ*านวน pixel ท� มู�ส�ข้าวและจ*านวน pixel

ท� มู�ส�ด้*าสล�บื้ก�นไปเร� อยืๆ• ถ�าข้�อมู�ลเร� มูด้�วยืส�ด้*า -> เร� มูต�นด้�วยืเลข้ 0• ถ�ามู�มูากกว'า 2 ส� เข้�ยืน จ*านวน, รห้�สส� สล�บื้ก�น

ไปเร� อยืๆ

Page 32: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

32

Run-length encoding (RLE)

Page 33: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

33

ร�ปอะไร ???0, 60, 1, 4, 10, 1, 4, 10, 62, 2, 21, 4, 1

1, 4, 10, 60, 1, 1, 2, 1, 10, 61, 1, 2, 1, 12, 2, 2

3, 1, 23, 2, 10, 60, 63, 2, 13, 1, 2

0, 4, 20, 60, 4, 1, 10, 4, 1, 10, 5, 10, 4, 2

Page 34: Chapter 02 Introduction to Data Representation การแทนข้อมูลในคอมพิวเตอร์

34

Reference

• สตอล�ล�งค�, ว�ลเล�ยิ่ม. สถาป(ตยิ่กรรมคอมพิ�วเตอร�.—กร*งเที่พิฯ : เพิ�ยิ่ร�ส�น เอ%ดิดิ�เคช้��น อ�นโดิไช้น า, 2546

• http://csunplugged.org/binary-numbers• http://csunplugged.org/image-representation• http://egret.net/kb__mb.htm• http://en.wikipedia.org/wiki/Kibibyte • http://en.wikipedia.org/wiki/Floating_point• http://users.nlamerica.com/kevin/Bitsbytes.htm