ความหมายของรหัสแทนข้อมูล
รหัสแทนข้อมูล หมายถึง รหัสที่ใช้แทนตัวอักขระ ซึ่งประกอบด้วยตัวอักษร ตัวเลข หรือสัญลักษณ์พิเศษอื่น ๆ ที่ใช้ในโปรแกรมคอมพิวเตอร์ เพราะว่าข้อมูลที่เก็บไว้ในหน่วยความจำของคอมพิวเตอร์จะแทนรหัสเลขฐานสองที่มีเลข 0 กับ 1 วางเรียงกัน
(ภาพจาก google)
มารู้จัก Bit, Byte กันเถอะ
เลข 0 และ 1ในระบบฐานสองแต่ละตัว เรียกว่าบิต (bit) ย่อมาจากคำว่า Binary Digit บิตเป็นหน่วยเล็กที่สุดในการเก็บข้อมูลด้วยคอมพิวเตอร์ แต่เนื่องจากบิตเดียวไม่สามารถเก็บข้อมูลตัวเลข ตัวอักษร และสัญลักษณ์พิเศษต่าง ๆ ได้ครบ ดังนั้นจึงต้องรวมบิตหลายบิตเข้าเป็นกลุ่มเรียกว่าไบต์ (byte) แต่ละไบต์จะแทนอักขระหนึ่งตัว โดยปกติแล้วใช้แปดบิตรวมกันเป็นหนึ่งไบต์ ในการผลิตเครื่องคอมพิวเตอร์จะต้องคำนึงถึงรหัสที่ใช้แทนข้อมูล ความจุของหน่วยความจำและความจุของที่เก็บข้อมูลสำรองในคอมพิวเตอร์ ซึ่งหน่วยของความจุที่เก็บข้อมูลจะมีหน่วยเป็นหน่วยของไบต์ และหากมีความจุสูงก็อาจใช้หน่วยความจุเป็นกิโลไบต์ (Kilobyte) โดยหนึ่งกิโลไบต์มีค่าเป็น 1,024 ไบต์ ใช้สัญลักษณ์ KB หรือ K
ถ้าหน่วยความจำขนาด 640 กิโลไบต์ จะเก็บข้อมูลได้ 640 x 1,024 หรือ 655,360 ไบต์ นอกจากนี้ยังมีหน่วยความจุเป็นเมกะไบต์ (Megabyte)ซึ่งมีค่าเป็น 1,024 x1,024 หรือ 1,048,576 ไบต์ ใช้สัญลักษณ์ MB หรือ M แทน
หน่วยความจำมีความจุมากขึ้นจนอยู่ในหน่วยของจิกะไบต์ (Gigabyte) ซึ่งมีค่าเป็น 1,024 x1,024 x1,024 ไบต์ หรือ 1,073,741,824 ไบต์ ใช้สัญลักษณ์ GB หรือ G แทน ในการประมวลผลของคอมพิวเตอร์ ยังมีการรวมกลุ่มของบิตจำนวนหนึ่งเรียกว่าเวิร์ด (word) ซึ่งในเครื่องคอมพิวเตอร์แต่ละชนิดจะมีขนาดของเวิร์ดไม่เท่ากัน โดยทั่วไปแล้วถ้าคอมพิวเตอร์เครื่องใดมีเวิร์ดขนาดใหญ่กว่า ก็แสดงว่าเครื่องนั้นมีประสิทธิภาพมากกว่า โดยในเครื่องไมโครคอมพิวเตอร์ที่ใช้กันอยู่ทั่วไปจะใช้ 8 บิตรวมกันเป็นหนึ่งเวิร์ด ในเครื่องมินิคอมพิวเตอร์และไมโครคอมพิวเตอร์บางรุ่นใช้ 16 บิตรวมกันเป็นหนึ่งเวิร์ด ในเครื่องระดับเมนเฟรมและมินิคอมพิวเตอร์บางรุ่นใช้ 32 บิตรวมกันเป็นหนึ่งเวิร์ด ส่วนในซูเปอร์คอมพิวเตอร์ใช้ 64 บิตรวมกันเป็นหนึ่งเวิร์ด ในเครื่องคอมพิวเตอร์รุ่นเก่าเป็นเครื่องขนาด 8 บิต (หนึ่งเวิร์ด) จะหมายความว่า ณ ขณะใดขณะหนึ่งเครื่องนั้นจะสามารถประมวลผลได้ครั้งละ 8 บิต แต่ในเครื่องขนาดใหญ่ขนาด 64 บิตจะสามารถประมวลผลได้ครั้งละ 64 บิตหรือ 8 ไบต์ ทำให้ประมวลผลเร็วกว่าเครื่องรุ่นเก่าถึง 8 เท่า
(ภาพจาก google)
8 Bit เป็น 1 Byte (เท่ากับ 1 Character)
1,024 Bytes เป็น1 MB (Kilobyte)
1,024 KB เป็น 1 MB (Megabyte)
1,024 MB เป็น 1 GB (Gigabyte)
1,024 GBเป็น1 TB (Terabyte)
ชนิดของรหัสแทนข้อมูล
1.รหัสEBCDIC(ExtendedBinaryCodeDecimalInterchange Code)
รหัสเอบซีโคดพัฒนาโดยบริษัทไอบีเอ็มใช้แทนข้อมูลที่แตกต่างกันได้ทั้งหมด 2 หรือ 256 ชนิด การเก็บข้อมูลโดยใช้รหัสเอบซีดิกจะแบ่งรหัสออกเป็นสองส่วน คือโซนบิต (Zone bits) ซึ่งอยู่ทางด้านซ้ายมีจำนวน 4 บิตและนิวเมอริกบิต (Numeric bits)ในอีก 4 บิตที่เหลือ
2. รหัส ASCII (American Standard Code for Information Interchange)
รหัสแอสกีเป็นรหัสที่นิยมใช้กันมากจนสามมารถนับได้ว่าเป็นรหัสมาตรฐานที่ใช้ใน การสื่อสารข้อมูล ( Data Communications) ซึ่งจำเป็นต้องใช้รหัสการแทนข้อมูลเป็นระบบเดียวกัน เพื่อให้สามารถรับ ส่งข้อมูลได้ในความหมายเดียวกัน รหัสแอสกีใช้เลขฐานสอง 8 หลักแทนข้อมูลหนึ่งตัวเช่นเดียวกับรหัสเอบซีดิค นั่นคือ 1 ไบต์มีความยาวเท่ากับ 8 บิต รวมทั้งมีการแบ่งรหัสออกเป็นสองส่วนคือโซนบิตและนิวเมอริกบิตเช่นเดียวกันโปรแกรมประยุกต์บางโปรแกรมได้มีการเปลี่ยนแปลงการแทนข้อมูลด้วยรหัส ACSII ให้ต่างไปจากมาตรฐาน โดยรหัสการจัดรูปแบบตัวอักษร (formatiing) ให้เป็นตัวหนาหรือตัวเอียง เป็นต้น ทำให้โปรแกรมอื่น ๆ ไม่สามารถอ่านข้อมูลที่ถูกสร้างขึ้นจากโปรแกรมประเภทนี้ได้ เพราะมีการกำหนดรหัสแทนข้อมูลไม่ตรงกัน
(ภาพจากgoogle)
3. รหัส UniCode
เป็นรหัสแบบใหม่ล่าสุดถูกสร้างขึ้นมาเนื่องจากรหัสขนาด 8 บิตซึ่งมีรูปแบบเพียง 256 รูปแบบ ไม่สามารถแทนภาษาเขียนแบบต่าง ๆ ในโลกได้ครบหมด โดยเฉพาะภาษาที่เป็นภาษาภาพ เช่น ภาษาจีนหรือภาษาญี่ปุ่นเพียงภาษาเดียวก็มีจำนวนรูปแบบเกินกว่า 256 ตัวแล้ว UniCode จะเป็นระบบรหัสที่เป็น16 บิต จึงแทนตัวอักษรได้มากถึง 65,536 ตัว ซึ่งเพียงพอสำหรับตัวอักษรและสัญลักษณ์กราฟฟิกโดยทั่วไป รวมทั้งสัญลักษณ์ทางคณิตศาสตร์ต่างๆ ในปัจจุบันระบบ UniCode มีใช้ในระบบปฏิบัติการ Window NT ระบบปฏิบัติการ UNIX บางรุ่น รวมทั้งมีการสนับสนุนชนิดข้อมูลแบบ UniCode ในภาษา JAVA ด้วย
ประเภทของรหัสแทนข้อมูล
การที่ต้องมีรหัสแทนข้อมูล ก็เนื่องมาจากลักษณะของวัสดุที่ใช้เป็น bit ของหน่วยความจำมี 2 สถานภาพ ซึ่งแทนด้วย binary digit 0 หรือ 1 ดังได้กล่าวแล้ว รหัสที่ใช้แทนข้อมูลซึ่งต้องเป็น combination ของ 0 หรือ 1 รหัสแทนข้อมูลนี้มีหลายประเภทแต่ใช้กันมากมี 3 ประเภท คือ
1. BCD (Binary Coded Decimal)
บางทีเรียกว่ารหัส 6 bit (6 bit code) เป็นรหัสที่ใช้เนื้อที่ 6 bit สำหรับ 1 character โดยแบ่ง 6 bit ออกเป็น 2 ส่วน คือ 2 bit แบ่งสำหรับเป็น zone bit และ 4 bit หลังเป็น digit bit ในกรณีที่ข้อมูลเป็นตัวเลข zone bit จะมีค่าเป็น 00 และ digit bit จะมีค่าเท่ากับเลขฐาน 2 ซึ่งมีค่าเท่ากับตัวเลขนั้น เพื่อให้กะทัดรัดซึ่งใช้เลขฐาน 8 ในการบอกรหัส BCD โดยแบ่งเลขฐาน 2 ออกเป็นกลุ่ม ๆ ละ 3 จะได้เลขฐาน 8 สองตัว
ตัวอย่างเช่น 9 2 4 3 A B เครื่องจะเก็บค่าเป็นเลขฐาน 8 ดังนี้
ซึ่งเท่ากับรหัสแสดงเป็นเลขฐาน 2 ดังนี้
001111 | 000010 | 000100 | 000011 | 010001 | 010010 |
2. EBCDIC (Extended Binary Coded Decimal Interchange Code)
คำนี้เสียงว่า เอ๊บซีดิค เป็นรหัสที่ใช้ 8 bit สำหรับ 1 character จึงเรียกอีกชื่อหนึ่งว่า รหัส 8 bit (8 bit code ) การขยายรหัสแทนข้อมูลจาก 6 bit สามารถมีรหัสแตกต่างกันได้ 64 ทาง ส่วนรหัส 8 bit หรือ EBCDIC ซึ่งทำให้สามารถมีรหัสได้มากขึ้นถึง 256-64 = 192 รหัส จำนวนรหัสที่มากขึ้นนี้ทำให้สามารถใช้แทนตัวอักษรทั้งตัวใหญ่และตัวเล็ก ตัวเลข และเครื่องหมายต่าง ๆ ได้ และยังมีรหัสเหลือใช้ซึ่งได้มีผู้นำมาประยุกต์เป็นรหัสสำหรับข้อมูลภาษาไทย
รหัส 8 bit แบ่งออกเป็น 2 ส่วน คือ 4 bit แรกเป็น zone bit และอีก 4 bit แรกเป็น zone bit เป็น digit bit จะแสดงเป็นเลขฐาน 2 และเลขฐาน 16 สำหรับเลขฐาน 16 นั้น ได้จากการแบ่งรหัสเลขฐาน 2 ออกเป็น 2 กลุ่มๆ ละ 4 ตัว จะได้เลขฐาน 16 สองตัว ซึ่งจะสะดวกและกะทักรักกว่าการแสดงเป็นเลขฐาน 2 มาก
ตัวอย่างเข่น ค่า 0243AB จะเท่ากับรหัสแสดงเป็นเลขฐาน 16 ดังนี้
ซึ่งเท่ากับรหัสแสดงเป็นเลขฐาน 2 ดังนี้
11111001 | 11110010 | 11110100 | 11110011 | 11000001 | 11000010 |
3. Pure Binary
บางทีเรียก ture binary code เป็นรหัสที่ใช้สำหรับข้อมูลที่จำเป็นตัวเลขเท่านั้น โดยเครื่องคอมพิวเตอร์จะกำหนดเนื้อที่จำนวนตายตัวสำหรับข้อมูลแต่ละจำนวน เช่นเครื่องคอมพิวเตอร์ IBM 360 กำหนดเนื้อที่ 16,32 หรือ 64 bit สำหรับข้อมูล 1 จำนวน โดยทั่วไป programmer จะเป็นผู้บอกเครื่องว่าต้องการให้ตัวแปรใดใช้ขนาดเนื้อที่ชนิดใด (16,32 หรือ 64 bit ) อย่างไรก็ตามในการใช้รหัสแทนข้อมูลแบบ pure binary นี้ จะกำหนดให้ bit ซ้ายสุด เป็น sing bit คือ ถ้า บิตแรกทางด้านซ้ายมีค่าเป็น 0 แสดงว่าเป็นค่าบวก ถ้ามีค่าเป็น 1 แสดงว่ามีค่าลบ จำนวน bit ที่เหลือจะเป็น binary number ซึ่งมีค่าเท่ากับจำนวนเลขนั้น
อยากรู้เรื่องเกี่ยวกับระบบตัวเลขและการแทนข้อมูลในหน่วยความจำ คลิ๊กเรยจ๊
ผู้จัดทำ
นางสาว จิราภรณ์ มิตรวงค์
นางสาว นันทิยา แก้วคนพา
เพื่อการศึกษารายวิชาเทคโนโลยีสารสนเทศและการประยุกต์ใช้
การจัดการข้อมูลด้วยคอมพิวเตอร์และฐานข้อมูล. ค้นคืนเมื่อ มิถุนายน 13,2554,
จาก http://cptd.chandra.ac.th/selfstud/it4life/data.htm
ข้อมูลและสารสนเทศ. ค้นคืนเมื่อ มิถุนายน 13,2554, จาก
http://ns1.tanti.ac.th/Com-tranning/IT/technof2.htm