280 likes | 555 Views
เลขฐาน & ASCII CODE. Number System[1] http :// krupoh . wordpress . com. เนื้อหา. การแทนข้อมูลในคอมพิวเตอร์ ระบบเลขจำนวน ( Number system ) เลขฐานสอง, สิบ, แปด และ สิบหก การแปลงเลขฐาน การแปลงเลขฐานอื่นๆ เป็นเลขฐานสิบ การแปลงเลขฐานสิบเป็นเลขฐานอื่นๆ มาตรฐานของการแทนข้อมูล.
E N D
เลขฐาน & ASCII CODE Number System[1] http://krupoh.wordpress.com
เนื้อหา • การแทนข้อมูลในคอมพิวเตอร์ • ระบบเลขจำนวน (Number system) • เลขฐานสอง, สิบ, แปด และ สิบหก • การแปลงเลขฐาน • การแปลงเลขฐานอื่นๆ เป็นเลขฐานสิบ • การแปลงเลขฐานสิบเป็นเลขฐานอื่นๆ • มาตรฐานของการแทนข้อมูล
การแทนข้อมูลในคอมพิวเตอร์การแทนข้อมูลในคอมพิวเตอร์ • ข้อมูลที่เก็บในคอมพิวเตอร์ มีหลายชนิด • ตัวอักษร, ตัวเลข, ข้อมูลเสียง, รูปภาพ ฯลฯ • คอมพิวเตอร์จะไม่เข้าใจถึงข้อมูลข้างต้นเหล่านั้น • เข้าใจแค่ 2 สถานะ คือ 0 กับ 1 • 1= มีกระแสไฟฟ้าเปิดหรือการเกิดสภาพแม่เหล็ก • 0= ไม่มีกระแสไฟฟ้าหรือสภาพแม่เหล็ก • 0 และ 1 แต่ละตัวจะเรียกว่า บิต (Bit) – Binary Digit
ในคอมพิวเตอร์ ข้อมูลจะถูกเปลี่ยนให้อยู่ในรูปสวิตซ์ ซึ่งมีได้ 2 สถานะ คือ ปิด (off) และ เปิด (on) • นิยมใช้ เลขฐาน 2 (Binary NumberSystem) แทนข้อมูลที่เก็บไว้ • ซึ่งมีอยู่ 2 ตัว คือ 0 (off) และ 1 (on) • และในบางครั้งสามารถเขียนแทนด้วย เลขฐาน 8 (Octal Number System) หรือ เลขฐาน 16(Hexadecimal Number System) ได้
ระบบเลขจำนวน (Number system) • ในชีวิตประจำวัน เราใช้ ระบบเลขฐาน 10 (Decimal Number System)ซึ่งมีตัวเลขที่ใช้อยู่ 10 ตัว คือ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 • 8310-- 83 ในระบบเลขฐาน 10 -- มีความหมายคือ (ผลรวมของเลขแต่ละหลักคูณด้วย 10 ยกกำลังด้วยตำแหน่ง (0, 1, 2, 3, ...) ของเลขหลักนั้นๆ) 83 = (8 x 101) + (3 x 100)
ระบบเลขฐานสอง (Binary Number System) • ใช้เลข 0 และ 1 ในการแทนค่าข้อมูลเท่านั้น • ระบบเลขฐานแปด (Octal Number System) • 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 • ระบบเลขฐานสิบ (Decimal Number System) • 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 • ระบบเลขฐานสิบหก (Hexadecimal Number System) • 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 และ • A, B, C, D, E, F แทน 10, 11, 12, 13, 14, 15
ชื่อ ฐาน ตัวเลข/สัญลักษณ์ที่ใช้ Binary 2 0,1 Ternary 3 0,1,2 Quarternally 4 0,1,2,3 Quinary 5 0,1,2,3,4 Senary 6 0,1,2,3,4,5 Septenary 7 0,1,2,3,4,5,6 Octenary (octal) 8 0,1,2,3,4,5,6,7 Denary (decimal) 10 0,1,2,3,4,5,6,7,8,9 Hexadenary 16 0,1 ,2,3,4,5,6,7,8,9, A,B,C,D,E,F (hexadecimal)
ค่าประจำหลักเลขฐาน • เลขฐานสิบ 743010 = (7x103) + (4x102) + (3x101) + (0x100) 0.3410 = (3x10-1) + (4x10-2)
เลขฐานสอง 10102 = (1x23) + (0x22) + (1x21) + (0x20) 0.112 = (1x2-1) + (1x2-2)
เลขฐานแปด 74308 = (7x83) + (4x82) + (3x81) + (0x80) 0.348 = (3x8-1) + (4x8-2)
เลขฐานสิบหก A43C16 = (10x163) + (4x162) + (3x161) + (12x160) 0.3E16 = (3x16-1) + (14x16-2)
1.1 เลขฐานสอง เลขฐานสิบ • 101 01102 • ขยายตัวเลขโดยใช้ 2 เป็นฐาน 101 01102 = (1x26) + (0x25) + (1x24) + (0x23) + (1x22) + (1x21) + (0x20) • คำนวณหาค่าต่างๆ 101 01102 = (1x64) + (0x32) + (1x16) + (0x8) + (1x4) + (1x2) + (0x1) • ผลคำตอบของการแปลงค่า 101 01102 = 8610
1.0101 12 • ขยายตัวเลขโดยใช้ 2 เป็นฐาน 1.0101 12 = (1x20) + (0x2-1) + (1x2-2) + (0x2-3) + (1x2-4) + (1x2-5) • คำนวณหาค่าต่างๆ 1.0101 12 = (1x1) + (0x0.5) + (1x0.25) + (0x0.0125) + (1x0.0625) + (1x0.03125) • ผลคำตอบของการแปลงค่า 1.0101 12 = 1.3437510
2.1 เลขฐานสิบ เลขฐานอื่นๆ (จำนวนเต็ม) • นำเลขฐาน 10 มาตั้ง แล้วหารด้วยเลขฐานที่ต้องการ • การหารแต่ละครั้งให้เก็บเศษไว้ • หารไปเรื่อยๆ จนกว่าผลลัพธ์จะเป็น 0 • เมื่อการหารสิ้นสุด นำเศษมาเรียงกันจากล่างขึ้นบน • ผลลัพธ์คือเลขฐานที่ต้องการแปลงไป
ตัวอย่าง: แปลงเลข 1310ให้เป็นเลขฐานสอง 2) 13 เศษ 1 2) 6 เศษ 0 2) 3 เศษ 1 2) 1 เศษ 1 0 ดังนั้น 1310= 11012
2.2 เลขฐานสิบ เลขฐานอื่นๆ (จำนวนจริง) • แบ่งตัวเลขเป็น 2 ส่วน หน้าจุด, หลังจุด • หน้าจุดทศนิยม(จำนวนเต็ม)-> หาแบบ 2.1 • หลังจุดทศนิยม -> หาได้จาก 1. นำเลขที่จะแปลงตั้งคูณด้วยเลขฐาน 1.1 นำผลคูณที่อยู่หน้าจุดทศนิยมเก็บไว้ 1.2 เลขหลังจุดทศนิยมนำไปทำซ้ำขั้นตอนที่ 1 เรื่อยๆ จนกว่าจะมีค่าเป็นศูนย์ 2. นำ 1.1 เรียงกันจากบนลงล่าง • ผลลัพธ์คือเลขฐานที่ต้องการแปลงไป
ตัวอย่าง: แปลงเลข 13.37510ให้เป็นเลขฐานสอง หน้าจุด13= 11012 หลังจุด0.375 => 0.375x2 = 0.75 -> 0 0.75x2 = 1.5 -> 1 0.5x2 = 1.0 -> 1 0.375= 0.0112 ดังนั้น 13.37510= 1101.0112
มาตรฐานของการแทนข้อมูลมาตรฐานของการแทนข้อมูล • ข้อมูลทุกชนิดถูกเก็บในรูปสัญญาณทางไฟฟ้า (0/1) • ต้องมีการกำหนดมาตรฐานของการแทนข้อมูล • เพื่อให้ทุกเครื่องสามารถติดต่อสื่อสารกันได้เข้าใจ • รูปแบบการแทนข้อมูลตัวอักษร • รูปแบบการแทนข้อมูลตัวเลขจำนวนเต็ม • รูปแบบการแทนข้อมูลตัวเลขจำนวนจริง
รูปแบบการแทนข้อมูลตัวอักษรรูปแบบการแทนข้อมูลตัวอักษร • ตัวอักษร - ไม่สามารถนำมาคำนวณได้ • เป็นเพียงสัญลักษณ์แทนตัวอักษร • รวมถึงตัวเลขต่างๆ ที่เป็นสัญลักษณ์( CPU ไม่สามารถนำมาประมวลผลได้) • มีหลายรูปแบบ เช่น BCD, EBCDIC, ASSCII, Unicode
3. ASCII (American Standard Code for Information Interchange) • พัฒนาโดย ANSI (American National Standards Institute) สำหรับ PC • ใช้พื้นที่ 8 Bits ในการเก็บข้อมูล 1 ตัวอักษร • เก็บตัวอักษรที่แตกต่างกันได้ 27= 128 สัญลัษณ์ • 1 บิตเอาไว้เป็นตัวเช็คความถูกต้องของข้อมูล • เก็บได้แต่ตัวอักษรภาษาอังกฤษ, ตัวเลข, สัญลักษณ์พิเศษต่างๆ
4. Unicode • พัฒนามาเพื่อให้รองรับหลายภาษาทั่วโลก รวมถึงภาษาไทย • มีใน WindowsXP เป็นครั้งแรก(สำหรับผู้ใช้ทั่วไป) • มีหลายเวอร์ชัน สำหรับการใช้งานที่ต่างกัน เช่น UTF-8, UTF-16, UTF-32 ฯลฯ • มีขนาดได้สูงถึง 32 Bits ต่อ 1 ตัวอักษร • แทนสัญลักษณ์ได้สูงถึง 232 สี่พันล้านสัญลักษณ์ • รวมรหัส ASCII ไว้ในตัว ทำให้แทน ASCII ได้ทันที
รูปแบบการแทนข้อมูลตัวเลขจำนวนเต็มรูปแบบการแทนข้อมูลตัวเลขจำนวนเต็ม • เก็บโดยแปลงข้อมูลจากเลขฐาน 10 เป็นเลขฐาน 2 • ข้อมูลที่เก็บมีความหมายในตัว สามารถคำนวณได้ • แต่มีขอบเขตของตัวเลขที่เก็บได้ ซึ่งถูกกำหนดด้วยจำนวนของ Bits ที่ใช้แทนตัวเลข 1 ตัว • ปกติใช้ 16,32,64 Bits (2,4,8 Bytes) • เก็บตัวเลขได้สูงสุดที่ 216 - 65535 , 232 - 4 พันกว่าล้าน , 232 - .... ตามลำดับ
รูปแบบการแทนข้อมูลตัวเลขจำนวนจริงรูปแบบการแทนข้อมูลตัวเลขจำนวนจริง • ใช้เก็บเลขทศนิยมแบบ exponential หรือ Floating point ซึ่งอยู่ในรูปของ +/-significant x 10exponent • เช่น +1.637x 109 => 1,637,000,000 • เช่น -3.5416x 10-5=> -0.000035416 • เวลาเก็บจะแปลงเลขทศนิยมธรรมดาให้เป็น Floating point แล้วค่อยเก็บ • ประหยัดเนื้อที่กว่า • โดยแบ่งพื้นที่เก็บเป็น 3 ส่วน คือ sign, significant (fraction), exponent
ลักษณะการเก็บตัวเลขจำนวนจริงขนาด 32 Bits, 64 Bits