ความรู้เบื้องต้น
การอ่านค่าจากตาราง
ข้อความต่าง ๆ เมื่อจัดเก็บในคอมพิวเตอร์ นิยมเก็บอยู่สองแบบ คือ ASCII 8 บิต หรือ Unicode 16 bit รหัส ASCII หรือที่ย่อมาจาก American Standard Code for Information Interchange จริง ๆ แล้วใช้เพียง 7 บิต เมื่อมาเป็นเป็น 8 บิต บิตสูงสุด (หรือบิตซ้ายสุด) ที่เติมเข้ามาอาจจะเพียงแต่เติม 0 เข้าไป หรือไม่ก็นำมาใช้เป็น partity bit
ลองพิจารณาตาราง ASCII แบบฐานสิบหก
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
1 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
2 SP ! " # $ % & ' ( ) * + , - . /
3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4 @ A B C D E F G H I J K L M N O
5 P Q R S T U V W X Y Z [ \ ] ^ _
6 ` a b c d e f g h i j k l m n o
7 p q r s t u v w x y z { | } ~ DEL
0 1 2 3 4 5 6 7 8 9 A B C D E F
00 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
10 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
20 SP ! " # $ % & ' ( ) * + , - . /
30 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
40 @ A B C D E F G H I J K L M N O
50 P Q R S T U V W X Y Z [ \ ] ^ _
60 ` a b c d e f g h i j k l m n o
70 p q r s t u v w x y z { | } ~ DEL
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
16 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
32 SP ! " # $ % & ' ( ) * + , - . /
48 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
72 @ A B C D E F G H I J K L M N O
80 P Q R S T U V W X Y Z [ \ ] ^ _
96 ` a b c d e f g h i j k l m n o
112 p q r s t u v w x y z { | } ~ DEL
00 10 20 30 40 50 60 70
0 NUL DLE SP 0 @ P ` p
1 SOH DC1 ! 1 A Q a q
2 STX DC2 " 2 B R b r
3 ETX DC3 # 3 C S c s
4 EOT DC4 $ 4 D T d t
5 ENQ NAK % 5 E U e u
6 ACK SYN & 6 F V f v
7 BEL ETB ' 7 G W g W
8 BS CAN ( 8 H X h x
9 HT EM ) 9 I Y i y
A LF SUB * : J Z j z
B VT ESC + ; K [ k {
C FF FS , < L \ l |
D CR GS - = M ] m }
E SO RS . > N ^ n ~
F SI US / ? O _ o DEL
การคำนวณ parity bit
parity bit มีได้ 5 แบบ คือ N (None, ไม่มี), E (Even, คู่), O (Odd, คี่), 0 (ศูนย์เสมอ) และ 1 (หนึ่งเสมอ) โดยทั่วไปโจทย์จะไม่ถาม N,0,1 เนื่องจากไม่ต้องคำนวณอะไรนัก
การจะคำนวณจะต้องเปลี่ยนรหัสเป็นเลขฐานสองก่อน ตัวอย่างเช่น คำว่า AN เปิดตารางได้ 41h 4Eh แปลงเป็นเลขฐานสองได้เป็น 01000001, 01001110
Even Partity หมายถึงจำนวนบิตที่เป็น 1 เป็นเลขคู่ การคำนวณก็เพียงแต่นับจำนวนบิตที่เป็น 1 ถ้าได้เลขคู่อยู่แล้วให้เติม parity bit เป็น 0 ถ้านับได้เลขคี่ ก็เติม parity bit เป็น 1 เพื่อให้จำนวนเป็นเลขคู่