1 / 34

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

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

Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 02Introduction to Data Representationการแทนข้อมูลในคอมพิวเตอร์ ผู้สอน อ.ยืนยง กันทะเนตร สาขาวิชาเทคโนโลยีคอมพิวเตอร์เคลื่อนที่ www.ict.up.ac.th/yeunyong

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

  3. เพื่อให้นิสิตเข้าใจหลักการของเลขฐานสองเบื้องต้นเพื่อให้นิสิตเข้าใจหลักการของเลขฐานสองเบื้องต้น • เพื่อให้นิสิตเข้าใจวิธีการแทนค่าข้อมูลรูปแบบต่างๆ ในคอมพิวเตอร์ Objective

  4. การที่เราจะสั่งให้คอมพิวเตอร์ทำงานการที่เราจะสั่งให้คอมพิวเตอร์ทำงาน • ต้องรู้ว่าคอมพิวเตอร์ทำงานอย่างไร??? • การที่เราจะรู้ว่าคอมพิวเตอร์ทำงานอย่างไร ??? • ต้องรู้ว่าข้อมูลต่างๆ เก็บในคอมพิวเตอร์ได้อย่างไร ??? • เพลง, หนัง, รูป, ไฟล์เอกสาร ฯลฯ เก็บอย่างไร ??? • คอมพิวเตอร์รู้จัก และทำงานกับข้อมูลเหล่านี้ได้อย่างไร ??? Introduction

  5. คอมพิวเตอร์เป็นอุปกรณ์ไฟฟ้าคอมพิวเตอร์เป็นอุปกรณ์ไฟฟ้า • ข้อมูลที่รู้จักคือสัญญาณแบบดิจิตอล • คล้ายทีวี, วิทยุที่รู้จักสัญญาณแบบอนาล็อก • ใช้การแทนค่ารูปแบบสัญญาณเพื่อแทนข้อมูลชนิดต่างๆ ในโลกความจริง Introduction [cont.] Image(s): FreeDigitalPhotos.net

  6. Introduction [cont.] เครดิตรูปจาก http://computertru.blogspot.com/2010/01/blog-post_06.html

  7. สัญญาณ(ข้อมูล)ดิจิตอล – สัญญาณไฟฟ้า มี 2 สถานะ • on/off , เปิด/ปิด , มีสัญญาณ/ไม่มีสัญญาณ • แทนได้ด้วยเลข 1 และเลข 0 • แต่ละตัวจะเรียกว่า บิต (Bit) – Binary Digit • สัญญาณเหล่านี้จะแทนข้อมูลต่างๆ ในคอมพิวเตอร์อีกที Introduction [cont.]

  8. ในชีวิตประจำวัน เราใช้ ระบบเลขฐาน 10 (Decimal Number System) ซึ่งมีตัวเลขที่ใช้อยู่ 10 ตัว คือ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 • 8310(83 ฐาน 10) มีความหมายคือ (ผลรวมของค่าคงที่ประจำหลัก คูณกับ ฐานยกกำลังด้วยค่าน้ำหนักของหลักนั้นๆ(เริ่มที่ 0 ในหลักหน่วย)) 83 = (8 x 101) + (3 x 100) Binary number system

  9. ระบบเลขฐานสอง (Binary Number System) • ใช้เลข 0 และ 1 ในการแทนค่าข้อมูลเท่านั้น • 11102(1110 ฐาน 2) มีความหมายคือ (ผลรวมของค่าคงที่ประจำหลัก คูณกับ ฐานยกกำลังด้วยค่าน้ำหนักของหลักนั้นๆ (เริ่มที่ 0 ในหลักหน่วย)) 11102 = (1x23) + (1x22) + (1x21) + (0x20) = 14 Binary number system [cont.]

  10. 10102 = (1x23) + (0x22) + (1x21) + (0x20) = 8 0.112= (1x2-1) + (1x2-2) = 0.75 Binary number system [cont.]

  11. จงแปลงเลขฐานสองต่อไปนี้ให้เป็นเลขฐานสิบจงแปลงเลขฐานสองต่อไปนี้ให้เป็นเลขฐานสิบ • 10012 • 11112 • 100012 • 110102 • 1101002 • 1001102 Binary number system [cont.]

  12. คอมพิวเตอร์รู้จักแต่สัญญาณดิจิตอล ซึ่งเขียนแทนได้ด้วยเลขฐานสอง • ข้อมูลทุกอย่างที่เก็บในคอมพิวเตอร์ เกิดจาก “กลุ่มของสัญญาณดิจิตอล” ซึ่งใช้แทนความหมายของข้อมูลชนิดต่างๆ อีกที ซึ่งเรียกว่า Data Representation • ในการแทนข้อมูลชนิดใดๆ ก็ตาม ต้องมีการกำหนด ขนาดหรือจำนวนบิตที่จะใช้แทนข้อมูล ด้วยเสมอ ซึ่งหน่วยข้อมูลคอมพิวเตอร์ มีหน่วยดังนี้ ความรู้เพิ่มเติม

  13. ความรู้เพิ่มเติม [ต่อ] http://egret.net/kb__mb.htm http://users.nlamerica.com/kevin/Bitsbytes.htm

  14. การแทนข้อมูลในรูปแบบตัวเลข (ปกติเป็นเลขฐานสิบ) • ตัวเลขมีความหมาย สามารถนำตัวเลข 2 ตัวมาคำนวณ(แบบเลขฐานสอง) ได้ โดยใช้การออกแบบวงจรใน CPU • ใช้พื้นฐานเดียวกับการเขียนเลขฐานสองแทนเลขฐานสิบ • ปัญหาที่ต้องอภิปราย • เลขทศนิยมฐานสองแทนเลขทศนิยมฐานสิบได้ยาก ??? • เลขที่มีค่าเป็นลบ จะแทนอย่างไร ??? • จำนวนบิตที่ใช้ ส่งผลกระทบอย่างไร ??? Number Representation

  15. ในการแทนตัวเลข โดยมาตรฐานกำหนดเป็น 2 แบบหลัก • การแทนเลขจำนวนเต็ม • การแทนเลขทศนิยม • แต่ละแบบยังมีประเภทย่อยๆ อีกหลายประเภท • สถาปัตยกรรมของเครื่องคอมพิวเตอร์ที่แตกต่างกัน • เทคโนโลยีอดีต – ปัจจุบัน Number Representation [cont.]

  16. ใช้พื้นฐานเดียวกับการเขียนเลขฐานสองแทนเลขฐานสิบใช้พื้นฐานเดียวกับการเขียนเลขฐานสองแทนเลขฐานสิบ • มีทั้งแบบ signed (บวก,ลบ) และ unsigned (บวกเท่านั้น) • การเก็บแบบ signed ใช้ได้หลายวิธี เช่น • Sign-Magnitude เพิ่ม 1 บิตแทนเครื่องหมายบวก/ลบ • 1’s Complements , 2’s Complements มี 1 บิตแทนเครื่องหมายคล้าย sign-magnitude แต่ข้อมูลส่วนที่เหลือใช้หลักการทางคณิตศาสตร์ในการเก็บข้อมูล เพื่อให้มีประสิทธิภาพมากขึ้น การแทนเลขจำนวนเต็ม

  17. จำนวนบิตที่ใช้ - 1 ไบต์, 2 ไบต์ , 4 ไบต์ , 8 ไบต์ • จำนวนบิตที่ใช้ยิ่งมาก ->แทนตัวเลขที่มีค่ามากๆ ได้ • เช่น ถ้าใช้พื้นที่ 1 ไบต์ • แบบ unsigned -> 0 ถึง 255 • แบบ signed (เครื่องหมาย 1 บิต) -> -128 ถึง 127 • ถ้าใช้พื้นที่ 2ไบต์ • แบบ unsigned -> 0 ถึง 65,535 • แบบ signed (เครื่องหมาย 1 บิต) ->-32,768 ถึง 32,767 การแทนเลขจำนวนเต็ม [ต่อ]

  18. ใช้การเก็บแบบ exponential หรือ Floating point ซึ่งอยู่ในรูปของ +/-significandx 10exponent • เช่น +1.637x 109 => 1,637,000,000 • เช่น -3.5416x 10-5=> -0.000035416 • แต่เป็น exponential ในรูปของเลขฐานสอง • เช่น +1.101x 25 => 110100 • เช่น -0.11x 2-3=> -0.00011 • ข้อมูลจะแบ่งเก็บ 3 ส่วน คือ sign, significand, exponent การแทนเลขจำนวนจริง

  19. จำนวนบิตที่ใช้ - 2 ไบต์, 4 ไบต์ , 8 ไบต์ , 10 ไบต์ , 16 ไบต์ • ยิ่งใช้บิตมาก ->แทนตัวเลขที่มีค่ามากๆ หรือเล็กมากๆ ได้ การแทนเลขจำนวนจริง [ต่อ]

  20. Floating point number แบบ 32 และ 64 bit

  21. การแทนข้อมูลในรูปแบบตัวอักษรการแทนข้อมูลในรูปแบบตัวอักษร • รวมถึงสัญลักษณ์ต่างๆ , ตัวเลขที่ไม่นำมาคำนวณ • หลักการคล้ายกับรหัสมอส • ใช้ตัวเลข (ฐานสอง) แทนตัวอักษร • มี 2 ประเภทที่นิยม • ASCII • Unicode Text Representation

  22. พัฒนาโดย ANSI (American National Standards Institute) สำหรับ PC • ใช้พื้นที่ 8 Bits ในการเก็บข้อมูล 1 ตัวอักษร • เก็บตัวอักษรที่แตกต่างกันได้ 27= 128 สัญลัษณ์ • 1 บิตเอาไว้เป็นตัวเช็คความถูกต้องของข้อมูล • เก็บได้แต่ตัวอักษรภาษาอังกฤษ, ตัวเลข, สัญลักษณ์พิเศษต่างๆ ASCII (American Standard Code for Information Interchange)

  23. พัฒนามาเพื่อให้รองรับหลายภาษาทั่วโลก รวมถึงภาษาไทย • มีใน WindowsXPเป็นครั้งแรก(สำหรับผู้ใช้ทั่วไป) • มีหลายเวอร์ชัน สำหรับการใช้งานที่ต่างกัน เช่น UTF-8, UTF-16, UTF-32 ฯลฯ • มีขนาดได้สูงถึง 32 Bits ต่อ 1 ตัวอักษร • แทนสัญลักษณ์ได้สูงถึง 232 สี่พันล้านสัญลักษณ์ • รวมรหัส ASCII ไว้ในตัว ทำให้แทน ASCII ได้ทันที Unicode

  24. อภิปราย : คอมพิวเตอร์เก็บรูปภาพได้อย่างไร ??? • หลักการก็เช่นเดียวกับกล้องดิจิตอล • รูปที่เก็บเกิดจากจุดเล็กๆ (pixels) หลายจุดรวมกัน • จุดแต่ละจุดจะมีค่า(สี) เพียงสีเดียว • คอมพิวเตอร์เก็บรหัสแทนสีในแต่ละจุด • มีหลายชนิด Graphic Representation

  25. Binary image: 1 bit (0 or 1)

  26. Gray image : 8 bits (0~255)

  27. Color image: 24 bits (RGB) – 16 ล้านสี Three-dimention color space

  28. รูปมีจำนวน 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 ปัญหาด้านความจุ

  29. ในการเก็บจริงจึงต้องมี “การบีบอัดข้อมูล” • เพื่อให้ใช้พื้นที่น้อยลง • มีหลายวิธี ขึ้นอยู่กับ จำนวนสี, คุณภาพรูปภาพ, ความซับซ้อนของอัลกอริทึม, ฯลฯ • มาตรฐาน เช่น jpeg, pcx, bmp, png, tiff, gif เป็นต้น ปัญหาด้านความจุ [ต่อ]

  30. a very simple form of data compression • มักใช้กับรูปภาพขาวดำหรือภาพที่มีสีน้อยๆ • หลักการ • เขียนชุดข้อมูลที่ซ้ำๆ กันทีละบรรทัด (pixel ในแนวนอน) • เขียนจำนวน pixel ที่มีสีขาวและจำนวน pixel ที่มีสีดำสลับกันไปเรื่อยๆ • ถ้าข้อมูลเริ่มด้วยสีดำ -> เริ่มต้นด้วยเลข 0 • ถ้ามีมากกว่า 2 สี เขียน จำนวน, รหัสสี สลับกันไปเรื่อยๆ Run-length encoding (RLE)

  31. Run-length encoding (RLE)

  32. 0, 6 0, 1, 4, 1 0, 1, 4, 1 0, 6 2, 2, 2 1, 4, 1 0, 4, 2 0, 6 0, 4, 1, 1 0, 4, 1, 1 0, 5, 1 0, 4, 2 1, 4, 1 0, 6 0, 1, 1, 2, 1, 1 0, 6 1, 1, 2, 1, 1 2, 2, 2 3, 1, 2 3, 2, 1 0, 6 0, 6 3, 2, 1 3, 1, 2 รูปอะไร ???

  33. สตอล์ลิงค์, วิลเลียม. สถาปัตยกรรมคอมพิวเตอร์.—กรุงเทพฯ : เพียร์สัน เอ็ดดูเคชั่น อินโดไชน่า, 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 Reference

More Related