ระบบจำนวนและรหัสคอมพิวเตอร์
1. ระบบจำนวนและรหัสคอมพิวเตอร์

แนะนำบทเรียน
จำนวนเป็นจุดเริ่มต้นของเรื่องราว ทำให้เข้าใจขั้นตอนการทำงาน ที่ต้องเริ่มต้นจาก 0 ไป 1 ไป 2 จนถึงขั้นตอนสุดท้าย และระบบจำนวนก็มีอยู่หลายระบบ การนับแต่ละชนชาติก็ต่างกัน รหัสคอมพิวเตอร์ก็มีหลายระบบ ที่มีวัตถุประสงค์แตกต่างกันไป อาทิ ระบบเลขฐานสอง ระบบเลขฐานสิบหก ระบบแอสกี้ ระบบแอสกี้ ระบบ BCD ระบบ Universal Character Set (UCS) หรือ Parity Bit การข้ามขั้นตอนที่เรียกว่า Leap Frog หรือทางลัด เป็นสิ่งที่ต้องเข้าใจถึงความเสี่ยงด้วยเสมอ และมีกรณีตัวอย่างมากมายของการเดินทางลัด

เอกสารประกอบ
Slides : cpsc213_number.ppt

ระบบจำนวนและรหัสคอมพิวเตอร์ (Number systems and computer codes)

ในชีวิตจริง มนุษย์เกี่ยวข้องกับตัวเลขมากกว่า 1 ฐาน (Radix Number) โดยที่เราไม่รู้ตัว แต่เราจะสนใจแต่เพียงเลขฐาน 10 สำหรับเครื่องคอมพิวเตอร์จะเก็บข้อมูลเพียง 2 สถานะ คือ มีไฟ และไม่มีไฟ จึงใช้เลขฐาน 2 เป็นหลัก ในการสื่อสารระหว่างคอมพิวเตอร์กับมนุษย์ใช้เลขฐาน 16 อาทิ %20 ใน ASCII Code ที่ใช้ใน Web address หมายถึง space แต่ถ้าค้นหาใน google.com ด้วยคำว่า "กขคง" จะพบ Web address ว่า %E0%B8%81 %E0%B8%82 %E0%B8%84 %E0%B8%87 ซึ่งเป็นการเข้ารหัสด้วย UTF-8 สามารถใช้บริการ URL UTF-8 decode แบบ online ได้

การส่งข้อมูลมีการเข้ารหัส (encoding) เพื่อความสะดวก และปลอดภัย เห็นในภาพยนตร์เรื่อง Matrix หรือ The Imitation Game ส่วนการเครื่องหมาย - ในเครื่องคอมพิวเตอร์ก็เป็นสัญลักษณ์หนึ่งทางคณิตศาสตร์ การดำเนินการก็จะใช้การทำให้สมบูรณ์ (Complement) เพื่อให้มีการดำเนินการทางคณิตศาสตร์แบบลบกันของเลข 2 จำนวนเกิดขึ้น ทำได้ทั้งแบบ one's complement และ two's complement

เอกสารประกอบ
Slides : timing_diagram.pptx
แผนภาพเวลา (Timing diagram)

ในขณะที่เวลาเดินไป มีการเปลี่ยนแปลงในแต่ละช่วงเวลาเกิดขึ้นเสมอ ซึ่งแผนภาพเวลา จะแสดงว่าในแต่ละช่วงเวลา สถานะจะเปลี่ยนไปอย่างไร เมื่อมี input หลายค่า และมี output หนึ่งค่า โดยมีเงื่อนไขตามฟังก์ชันที่กำหนด เช่น A . B = C ก็จะเขียนแผนภาพแสดงการเปลี่ยนของข้อมูลได้ ตัวอย่างเช่นสัญญาณไฟจราจร สีเหลือง ที่บอกผู้ขับขี่ให้ระวัง ก็จะมี 2 สถานะ คือ เปิด และปิด แล้ววนไปเรื่อย ๆ เหมือนแผนภาพเวลา ที่ใช้กำหนดสัญลักษณ์สีของสัญญาณ

เอกสารอ้างอิง [1] น.อ.ธวัชชัย เลื่อนฉวี และพ.ต.อนุรักษ์ เถื่อนศิริ, "ดิจิทอลเทคนิค เล่ม 1", มิตรนราการพิมพ์, 2543. ?
[2] น.อ.ธวัชชัย เลื่อนฉวี, "ดิจิทอลเทคนิค เล่ม 2", มิตรนราการพิมพ์, 2543. ?
[3] ศักดิ์ วาสิกะสิน และชนก หงส์น้อย, "ดิจิตอลคอมพิวเตอร์อิเล็กทรอนิกส์", บริษัท ซีเอ็ดยูเคชั่น จำกัด (มหาชน), 2540.
[4] ธนันต์ ศรีสกุล, "การวิเคราะห์วงจรและอุปกรณ์อิเล็กทรอนิกส์ด้วยโปรแกรม PSpice", กรุงเทพฯ: วิตตี้ กรุ๊ป, 2550.
[5] Steven D. Johnson, "Digital Hardware Design : Chapter 1", indiana.edu, 2004.
http://goo.gl/72BPC