ความหมายของรหัสแทนข้อมูล
รหัสแทนข้อมูล หมายถึง รหัสที่ใช้แทนตัวอักขระ ซึ่งประกอบด้วยตัวอักษร ตัวเลข หรือสัญลักษณ์พิเศษอื่น ๆ ที่ใช้ในโปรแกรมคอมพิวเตอร์ เพราะว่าข้อมูลที่เก็บไว้ในหน่วยความจำของคอมพิวเตอร์จะแทนด้วยรหัสเลขฐานสองที่มีเลข ๐ กับ ๑ วางเรียงกัน
ซึ่งรหัสข้อมูลแบ่งออกเป็น 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 ตัวแรกจะตรงกับรหัสแอสกี**
ไม่มีความคิดเห็น:
แสดงความคิดเห็น