ความหมายของรหัสแทนข้อมูล
รหัสแทนข้อมูล หมายถึง รหัสที่ใช้แทนตัวอักขระ ซึ่งประกอบด้วยตัวอักษร ตัวเลข หรือสัญลักษณ์พิเศษอื่น ๆ ที่ใช้ในโปรแกรมคอมพิวเตอร์ เพราะว่าข้อมูลที่เก็บไว้ในหน่วยความจำของคอมพิวเตอร์จะแทนด้วยรหัสเลขฐานสองที่มีเลข ๐ กับ ๑ วางเรียงกัน
ซึ่งรหัสข้อมูลแบ่งออกเป็น 2 ประเภท ดังนี้ คือ
1. รหัสภายนอกเครื่อง (External Code) หมายถึง รหัสที่ใช้สำหรับการบันทึกข้อมูลที่อยู่ภายนอกเครื่องคอมพิวเตอร์ เช่น การบันทึกข้อมูลบนบัตรเจาะรู โดยใช้สัญลักษณ์การเจาะรูแต่ละแถวแทนข้อมูล 1 ตังอักษร
2. รหัสภายในเครื่อง (Internal Code) หมายถึง รหัสที่ใช้แทนข้อมูลที่ถูกอ่านและบันทึกอยู่ในหน่วยความจำของเครื่องคอมพิวเตอร์ ซึ่งรหัสที่ใช้แทนข้อมูลภายในเครื่องคอมพิวเตอร์ ซึ่งมีหลายรูปแบบ ดังนี้
2. รหัสภายในเครื่อง (Internal Code) หมายถึง รหัสที่ใช้แทนข้อมูลที่ถูกอ่านและบันทึกอยู่ในหน่วยความจำของเครื่องคอมพิวเตอร์ ซึ่งรหัสที่ใช้แทนข้อมูลภายในเครื่องคอมพิวเตอร์ ซึ่งมีหลายรูปแบบ ดังนี้
รหัสบีซีดี รหัสแอบซีดิก รหัสแอสกี้ รหัสยูนิโคด
รหัสเอ็บซีดิก (EBCDIC)
รหัสเอ็บซีดิก (EBCDIC) เป็นคำย่อมาจาก Extended Binary Coded Decimal Interchange Code พัฒนาและใช้งานโดยบริษัทไอบีเอ็ม เครื่องคอมพิวเตอร์เมนเฟรมของไอบีเอ็มยังคงใช้รหัสนี้
การแทนข้อมูลในหน่วยความจำ
หน่วยความจำหลักของคอมพิวเตอร์เป็นที่เก็บข้อมูลและคำสั่งในขณะประมวลผล การเก็บข้อมูลในหน่วยความจำเป็นการเก็บรหัสตัวเลขฐานสอง ข้อมูลที่ใช้ในการประมวลผลทั้งตัวเลขหรือตัวอักษรจะได้รับการแทนเป็นตัวเลขฐานสอง แล้วเก็บไว้ในหน่วยความจำ เช่น ข้อความว่า BANGKOK เก็บในคอมพิวเตอร์จะแทนเป็นรหัสเรียงกันไป ดังนี้
หน่วยความจำหลักของคอมพิวเตอร์เป็นที่เก็บข้อมูลและคำสั่งในขณะประมวลผล การเก็บข้อมูลในหน่วยความจำเป็นการเก็บรหัสตัวเลขฐานสอง ข้อมูลที่ใช้ในการประมวลผลทั้งตัวเลขหรือตัวอักษรจะได้รับการแทนเป็นตัวเลขฐานสอง แล้วเก็บไว้ในหน่วยความจำ เช่น ข้อความว่า BANGKOK เก็บในคอมพิวเตอร์จะแทนเป็นรหัสเรียงกันไป ดังนี้
หน่วยความจำ | |
B | 01000010 |
A | 01000001 |
N | 01001110 |
G | 01000111 |
K | 01001011 |
O | 01001111 |
K | 01001011 |
รูป แสดงตัวอย่างการแทนข้อความในหน่วยความจำ
**หน่วยความจำของไมโครคอมพิวเตอร์ที่ใช้กันอยู่ในขณะนี้ มีขนาดความกว้าง 8 บิต และเก็บข้อมูลเรียงกันไป โดยมีการกำหนดตำแหน่งซึ่งเรียกว่า เลขที่อยู่ (address)***
เพื่อให้ข้อมูลที่เก็บมีความถูกต้อง การเขียนหรืออ่านทุกครั้งจึงต้องตรวจสอบความถูกต้องของข้อมูล วิธีที่ง่ายและนิยมใช้กันคือการเพิ่มอีก 1 บิต เรียกว่า บิตพาริตี (parity bit) บิตพาริตีที่เพิ่มเติมเข้าไปจะทำให้ข้อมูลทั้งหมดในส่วนนั้นมีเลข 1 เป็นจำนวนคู่ หรือจำนวนคี่ เช่น ในไมโครคอมพิวเตอร์เพิ่มอีก 1 บิต เพื่อทำให้เลขหนึ่งเป็นจำนวนคู่ เรียกว่าพาริตีคู่ (even parity) บิตพาริตีที่เติมสำหรับข้อมูลตัวอักษร A และ E เป็นดังนี้
A 01000001 0 <-- บิตพาริตี
E 01000101 1 <-- บิตพาริตี
ข้อมูล A มีเลข 1 สองตัว ซึ่งเป็นจำนวนคู่อยู่แล้ว ดังนั้นจึงใส่บิตพาริตีเป็นเลข 0
ข้อมูล E มีเลข 1 เป็นจำนวนคี่ จึงใส่บิตพาริตีเป็น 1 เพื่อให้มีเลข 1 เป็นจำนวนคู่
ข้อมูล E มีเลข 1 เป็นจำนวนคี่ จึงใส่บิตพาริตีเป็น 1 เพื่อให้มีเลข 1 เป็นจำนวนคู่
**ตัวอย่าง** ข้อความ BANGKOK เมื่อเก็บในหน่วยความจำหลักของไมโครคอมพิวเตอร์ที่มีบิตพาริตีด้วยจะเป็นดังรูป
หน่วยความจำ | บิตพาริตี | |
B | 01000010 | 0 |
A | 01000001 | 0 |
N | 01001110 | 0 |
G | 01000111 | 0 |
K | 01001011 | 0 |
O | 01001111 | 1 |
K | 01001011 | 0 |
รูปที่ แสดงตัวอย่างการแทนข้อความในหน่วยความจำแบบมีบิตพาริตี
การแทนคำสั่งในหน่วยความจำ
หน่วยควบคุมของคอมพิวเตอร์ที่อยู่ในซีพียู ทำการอ่านคำสั่งจากหน่วยความจำมาแปลความหมายและกระทำตาม คำสั่งคอมพิวเตอร์พื้นฐานที่สุดเรียกว่า ภาษาเครื่อง (machine langauge) ภาษาเครื่องมีลักษณะเป็นรหัสที่ใช้ตัวเลขฐานสอง ตัวเลขฐานสองเหล่านี้แทนชุดรหัสคำสั่ง คอมพิวเตอร์เครื่องหนึ่งมีคำสั่งที่ใช้ได้หลายร้อยคำสั่ง แต่ละคำสั่งจะมีความหมายเฉพาะ เช่น คำสั่งนำข้อมูลที่มีค่าเป็น 3 จากหน่วยความจำตำแหน่งที่ 8000 มาบวกกับข้อมูลที่มีค่าเป็น 5 ในตำแหน่งที่ 8001 ผลลัพธ์ที่ได้ให้เก็บไว้ในหน่วยความจำตำแหน่งที่ 8002 เมื่อเขียนคำสั่งเป็นภาษาเครื่องจะมีลักษณะเป็นตัวเลขฐานสองเรียงต่อกันเป็นจำนวนมาก ซึ่งเข้าใจได้ยาก จึงมักใช้ตัวอักษรแทนรหัสภาษาเครื่องเหล่านี้ ดังตัวอย่าง
หน่วยควบคุมของคอมพิวเตอร์ที่อยู่ในซีพียู ทำการอ่านคำสั่งจากหน่วยความจำมาแปลความหมายและกระทำตาม คำสั่งคอมพิวเตอร์พื้นฐานที่สุดเรียกว่า ภาษาเครื่อง (machine langauge) ภาษาเครื่องมีลักษณะเป็นรหัสที่ใช้ตัวเลขฐานสอง ตัวเลขฐานสองเหล่านี้แทนชุดรหัสคำสั่ง คอมพิวเตอร์เครื่องหนึ่งมีคำสั่งที่ใช้ได้หลายร้อยคำสั่ง แต่ละคำสั่งจะมีความหมายเฉพาะ เช่น คำสั่งนำข้อมูลที่มีค่าเป็น 3 จากหน่วยความจำตำแหน่งที่ 8000 มาบวกกับข้อมูลที่มีค่าเป็น 5 ในตำแหน่งที่ 8001 ผลลัพธ์ที่ได้ให้เก็บไว้ในหน่วยความจำตำแหน่งที่ 8002 เมื่อเขียนคำสั่งเป็นภาษาเครื่องจะมีลักษณะเป็นตัวเลขฐานสองเรียงต่อกันเป็นจำนวนมาก ซึ่งเข้าใจได้ยาก จึงมักใช้ตัวอักษรแทนรหัสภาษาเครื่องเหล่านี้ ดังตัวอย่าง
แอสเซมบลี | ภาษาเครื่อง |
LD A,(8000) | 00111010,00000000,10000000 |
LD B,A | 01000111 |
LD A,(8001) | 00111010,00000001,10000000 |
ADD A,B | 10000000 |
LD (8002),A | 00110010,00000010,10000000 |
รูป แสดงตัวอย่างการแทนคำสั่งภาษาเครื่อง
รหัสภาษาเครื่องเมื่อเก็บอยู่ในหน่วยความจำของคอมพิวเตอร์จะมีลักษณะเรียงต่อกันไป สมมติให้ส่วนของโปรแกรมเก็บในหน่วยความจำตำแหน่งเริ่มจาก 1000 และข้อมูลเก็บไว้ที่ตำแหน่งเริ่มจาก 8000 ดังรูป
แอสแซมบลี | ตำแหน่ง | หน่วยความจำ | บิตพาริตี |
LD A,(8000) | 1000 | 00111010 | 0 |
1001 | 00000000 | 0 | |
1002 | 10000000 | 1 | |
LD B,A | 1003 | 01000111 | 0 |
LD A,(8001) | 1004 | 00111010 | 0 |
1005 | 00000001 | 1 | |
1006 | 10000000 | 1 | |
ADD A,B | 1007 | 10000000 | 1 |
LD (8002),A | 1008 | 00110010 | 1 |
1009 | 00000010 | 1 | |
1010 | 10000000 | 1 | |
. | . | . | |
. | . | . | |
. | . | . | |
ข้อมูล | 8000 | 00000011 | 0 |
8001 | 00000101 | 0 | |
ผลลัพธ์ | 8002 | 00001000 | 1 |
รูป การเก็บข้อมูลและคำสั่งลงในหน่วยความจำด้วยรหัสเลขฐานสอง
ภาษาสั่งการพื้นฐานที่ใช้รหัสตัวเลขฐานสองนี้เรียกว่า ภาษาเครื่อง คอมพิวเตอร์ที่ใช้ซีพียูต่างตระกูลกันจะมีภาษาเครื่องที่ต่างกัน เช่น เครื่องที่ใช้ซีพียูเพนเทียมกับซีพียูที่ใช้ในเครื่องแมกอินทอช มีรหัสคำสั่งต่างกัน
รหัสบีซีดี (Binary Coded Decimal: BCD)
รหัสบีซีดี (Binary Coded Decimal: BCD) เป็นรหัสที่ใช้เลขฐานสองแทนเลขฐานสิบ ใช้จำนวน 6 บิต เพื่อแทนข้อมูล 1 อักขระ ดังนั้นรหัสบีซีดีจึงสามารถสร้างรหัสที่มีความแตกต่างกันได้ 64 รหัส (64 = 26) การกำหนดรหัสบีซีดีสำหรับ 1 อักขระนี้ ทำได้โดยแบ่งจำนวน 6 บิต ออกเป็น 2 ส่วน คือ
Zone Bit ใช้ 2 บิตแรก
Digit Bit ใช้ 4 บิตหลัง
รหัสบีซีดี 64 รหัส สามารถใช้แทนข้อมูลที่เป็นตัวเลข ตัวอักษร และสัญลักษณ์พิเศษต่าง ๆ ดังนี้ข้อมูลที่เป็นตัวเลขการแทนข้อมูลที่เป็นตัวเลขด้วยรหัสบีซีดี ส่วนที่เป็น Zone Bit จะถูกกำหนดเป็น 00 เท่านั้นส่วนที่เป็น Digit Bit ใช้บันทึกค่าของตัวเลขนั้น ๆ ในระบบฐานสอง กรณีที่ตัวเลขมีค่ามากกว่า 1 หลัก สามารถกำหนดเป็นรหัสบีซีดี โดยแยกกำหนดครั้งละ 1 หลักข้อมูลที่เป็นตัวอักษรการแทนข้อมูลที่เป็นตัวอักษรด้วยรหัสบีซีดี ทำได้ดังนี้ คือ
Zone Bit ใช้ 2 บิตแรก
Digit Bit ใช้ 4 บิตหลัง
รหัสบีซีดี 64 รหัส สามารถใช้แทนข้อมูลที่เป็นตัวเลข ตัวอักษร และสัญลักษณ์พิเศษต่าง ๆ ดังนี้ข้อมูลที่เป็นตัวเลขการแทนข้อมูลที่เป็นตัวเลขด้วยรหัสบีซีดี ส่วนที่เป็น Zone Bit จะถูกกำหนดเป็น 00 เท่านั้นส่วนที่เป็น Digit Bit ใช้บันทึกค่าของตัวเลขนั้น ๆ ในระบบฐานสอง กรณีที่ตัวเลขมีค่ามากกว่า 1 หลัก สามารถกำหนดเป็นรหัสบีซีดี โดยแยกกำหนดครั้งละ 1 หลักข้อมูลที่เป็นตัวอักษรการแทนข้อมูลที่เป็นตัวอักษรด้วยรหัสบีซีดี ทำได้ดังนี้ คือ
ข้อมูล | Zone Bit | Digit Bit |
ตัวอักษร A-I | 11 | ค่าของข้อมูลนั้นในระบบเลขฐานสอง |
ตัวอักษร J-R | 10 | |
ตัวอักษร S-Z | 00 |
รหัสยูนิโคด (Unicode)
รหัสยูนิโคด (Unicode) เนื่องจากรหัสแทนข้อมูลที่กล่าวมาแล้วทั้ง 3 รูปแบบนั้น เพียงพอสำหรับการใช้งานในภาษาอังกฤษเท่านั้น กรณีที่ต้องการแทนตัวอักษรของประเทศต่าง ๆ ทั่วโลกนั้นรหัสแทนข้อมูล 3 รูปแบบนั้นไม่เพียงพอต่อการใช้งาน
ดังนั้นจึงมีการกำหนดรหัสแทนข้อมูลแบบยูนิโคดขึ้นมา โดยใช้จำนวน 16 บิต เพื่อแทนข้อมูล1 อักขระ ซึ่งสามารถสร้างรหัสที่มีความแตกต่างกันได้ 65,536 รหัส
**ปัจจุบันรหัสยูนิโคด ได้ใช้แทนค่าของข้อมูลภาษาต่าง ๆ มากกว่า 34,000 รหัส โดยที่รหัส 256 ตัวแรกจะตรงกับรหัสแอสกี**
**ปัจจุบันรหัสยูนิโคด ได้ใช้แทนค่าของข้อมูลภาษาต่าง ๆ มากกว่า 34,000 รหัส โดยที่รหัส 256 ตัวแรกจะตรงกับรหัสแอสกี**
ัั
ตอบลบขอบคุณสำหรับข้อมูลดีๆครับ
ตอบลบเข้าใจเลย
ตอบลบ