รหัสตัวเลข

รหัสตัวเลข (numeric code)
แยกออกเป็นหัวข้อย่อย ๆ ได้ ดังนี้
1.	Number systems แบ่งออกเป็นเลขฐานต่าง ๆ ดังนี้
1.1	เลขฐาน 2 ( Binary Number System ) ประกอบด้วยตัวเลข 0 และ 1
ระบบเลขฐานสอง มีสัญลักษณ์ที่ใช้เพียงสองตัว คือ 0 และ 1 และการคำนวณตัวเลขใน
เลขฐานสองมีการคำนวณ ดังตัวอย่าง
ตัวอย่าง เช่น
1101 = (1 x 23) + (1 x 22) + (0 x 21) + (1 x 20)
(0.1011)2 = (1 x 2- 1) + (0 x 2- 2) + (1 x 2- 3) + (1 x 2- 4)
1.2	เลขฐาน 8 ( Octal Number System ) ประกอบด้วยตัวเลข 0 – 7
1.3	เลขฐาน 10 ( Decimal Number System ) ประกอบด้วยตัวเลข 0 – 9
ระบบเลขฐานสิบ เป็นระบบเลขที่ใช้กันในชีวิตประจำวัน ไม่ว่าจะนำไปใช้คำนวณประเภท
ใดโดยจะมีสัญลักษณ์ที่ใช้แทนตัวเลขต่างๆ ของเลขฐานสิบ  จำนวน 10 ตัว ได้แก่ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
และการคำนวณตัวเลขในเลขฐานสิบมีการคำนวณ ดังตัวอย่าง
ตัวอย่าง เช่น
456.395 = 4 x 102 + 5 x 101 + 6 x 100 + 3 x 10- 1 + 9 x 10- 2 + 5 x 10- 3
1.4	เลขฐาน 16 ( Hexadecimal Number System ) ประกอบด้วยตัวเลข 0 – 9 และA – F
การแปลงเลขฐาน
แปลงเลขฐานสองเป็นฐานสิบ
การแปลงเลขฐานสองให้เป็นเลขฐานสิบทำได้โดยการที่เรานำเลขฐานสองไปยกกำลังด้วยตำแหน่งของตัวเลข ดังตัวอย่าง
ตัวอย่าง เช่น
(110111)2 มีค่าเท่ากับเท่าไรในระบบเลขฐานสิบ
วิธีทำ  (110111)2 = 1 x 25 + 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 1 x 20
= 32 + 16 + 0 +4 + 2 + 1
1101112	= 5510
การแปลงเลขฐานสิบเป็นฐานสอง
การแปลงเลขฐานสิบเป็นฐานสองทำได้หลายวิธีแต่ที่จะนำมาให้ดู คือ การนำมาหารสั้นโดยนำเลขฐานสิบมาหารด้วยเลข 2 แล้วเก็บค่าเศษไว้จนไม่สามารถหารต่อได้แล้ว จากนั้นก็นำเศษที่เก็บไว้นั้นมาเรียงจากเศษที่ได้ตัวสุดท้ายไปจนถึงตัวแรก
การแปลงเลขฐาน 10 เป็นฐาน 8 และฐาน 16
การแปลงเลขฐาน 10 เป็นเลขฐาน 8 และ เลขฐาน 16 มีลักษณะเดียวกับการแปลงเป็นเลขฐาน 2 โดยใช้ค่าฐานไปหารเพื่อหาเศษbin ดังตัวอย่าง
ตัวอย่าง เช่น
ฐาน 10 เป็น ฐาน 8
295 = 295 / 8	ได้ 36			เหลือเศษ 7
แล้วเอา			     36 / 8	ได้   4			เหลือเศษ 6
แล้วเอา			       4 / 8	ซึ่งมาสามารถหารได้	เหลือเศษ 4
ดังนั้น		     295 = 4678
ฐาน 10 เป็น ฐาน 16
295 = 295 / 16	ได้ 18			เหลือเศษ 7
แล้วเอา			     18 / 16	ได้   1			เหลือเศษ 2
แล้วเอา			       1 / 16	ซึ่งมาสามารถหารได้	เหลือเศษ 1
ดังนั้น		     295 = 12716
2.	Conversion
3.	Arithmetic
คือ ส่วนประกอบหลักส่วนหนึ่งของไมโครโปรเซสเซอร์เป็นวงจรลอจิกที่ใช้ประมวลผลข้อมูลหรือ
หน่วยคำนวณตรรกะ ทำหน้าที่คำนวณและดำเนินการเปรียบเทียบ เป็นหน่วยหลักของการประมวลผล ข้อมูลจะถูกส่งออกจากส่วนเก็บแล้วส่งไปยัง ALU ซ้ำไปมาหลายครั้งจนประมวลผลเสร็จ ส่วนที่ทำหน้าที่เก็บความจำระหว่างการประมวลผลของ ALUเรียกว่า เรจิสเตอร์ ( Register ) ส่วนที่เก็บผลลัพธ์จาก ALU คือ Accumulater Register   เมื่อผู้ใช้ป้อนข้อมูลในระบบฐานสิบเข้าไปในเครื่องและสั่งให้ปฏิบัติการ  ข้อมูลจะถูกเปลี่ยนไปเก็บไว้ในระบบเลขฐาน  2  โดยที่จำนวนเต็มบวก  และทศนิยม  Sign – Magnitude  ส่วนจำนวนเต็มลบจะเก็บแบบ  2’s  Complement  จากนั้นจะทำการบวก  ลบ  คูณ  หาร  และให้ผลลัพธ์  ออกมาเป็นระบบฐาน  10
4.	Binary coded decimal
BCD เป็นรหัสข้อมูลที่ประกอบด้วยเลขฐานสอง 6 บิต แทนข้อมูล 1 อักขระ (1 Character) จึงสามารถสร้างรหัสข้อมูลได้จำนวน 26 = 64 รหัส รหัสทั้ง 6 บิต แบ่งได้เป็น 2 กลุ่ม โดย 2 บิตแรกเรียกว่า Zone Bit และ 4 บิตถัดไปเรียกว่า Numeric Bit
5.	Gray code
รหัส Gray codeใช้ตัวเลขฐานสองจำนวน 4 บิท เช่นเดียวกับรหัส BCD , Excess-3, 4221 BCD code และปกติจะใช้แทนตัวเลขฐานสิบ ตั้งแต่ 0-9 แต่เราอาจจะเขียนรหัส Gray แทนเลขฐานสิบได้ตั้งแต่ 0-15 หลักการของ Gray code ตัวเลขที่อยู่ติดกันในลำดับ จะมีค่าต่างกัน เพียง 1 บิทเท่านั้น จากตารางข้างล่างนี้ เป็นการเทียบ 4-bit binary code กับ 4-bit Gray code
การเปลี่ยน Gray Code เป็น Binary Code
ตัวอย่าง เช่น
แปลง 1010GRAY เป็น binary
D103x.JPG
การเปลี่ยน Binary Code เป็น Gray Code
ตัวอย่าง เช่น
แปลง 11002 เป็น Gray code
D105x.JPG
6.	Fixed-point number
เป็นค่าทศนิยมที่กำหนดตำแหน่งแน่นอน  โดยไม่สนใจตำแหน่งที่อยู่ถัดไป  มีค่าความผิดพลาด  (Error)  สูง ไม่เป็นที่นิยมใช้ในการคำนวณทางวิทยาศาสตร์ที่ต้องการความละเอียดสูง
7.	Floating-point numbers
เป็นค่าทศนิยมที่มีการประมาณค่าตำแหน่งที่ต้องการโดยคำนึงตำแหน่งที่อยู่ถัดไปก่อนที่จะตัดทิ้ง  โดยอาจจะทำการปัดเศษ (Rouding) ทำให้มีค่าผิดพลาดน้อยและน่าเชื่อถือมาก จึงนิยมใช้ในทางวิทยาศาสตร์
คณิตศาสตร์