รหัสเกรย์
รหัสเกรย์ (อังกฤษ: Graycode) เป็นรหัสคอมพิวเตอร์อีกชนิดหนึ่งโดยใช้เลขไบนารีขนาด 4 บิต แทนเลข 0 ถึง 9 เช่นกัน โดยเริ่มที่ 0000 แต่เป็นรหัสที่ไม่มีค่าน้ำหนัก ( Non weighted) ซึ่งหมายถึง ตำแหน่งบิตในกลุ่มรหัสจะไม่มีตัวใดบ่งบอกถึงน้ำหนักเป็นพิเศษ ดังนั้นจึงไม่เหมาะสมสำหรับใช้คำนวณ แต่จะมีประโยชน์ในระบบที่ต้องใช้อุปกรณ์ อินพุต/เอาต์พุต ใช้กันมากในระบบตรวจจับสัญญานด้วยแสง การเปลี่ยนแปลงของรหัสเกรย์ แต่ละค่าจะต่างจากจำนวนก่อนหน้าอยู่ 1 บิต เสมอ ทำให้โอกาสที่จะเกิดความผิดพลาดได้ยากเมื่อเทียบกับรหัสเลขฐานสอง ซึ่งอาจเกิดความคลาดเคลื่อนของรหัส (Erronous Code) หรือเกิดการคลุมเครือของรหัสระหว่างส่งรหัสได้
ตัวอย่างการเทียบเลข Binary กับ Gray Code
การแปลงเลขฐานสอง เป็น รหัสเกรย์ และ จากรหัสเกรย์ เป็นเลขฐานสอง[แก้]
สิ่งแรกที่เราต้องทราบในการแปลงเลขฐานสอง เป็น รหัสเกรย์ และ จากรหัสเกรย์ เป็นเลขฐานสอง คือ กฎการบวก โดยที่ 0+0 = 0, 0+1 = 1, 1+0 =1 และ 1+1 = 0
ขั้นตอนการแปลงเลขฐานสอง เป็น รหัสเกรย์[แก้]
- เริ่มจากบิตแรกซึ่งถือว่ามีนัยสำคัญมากที่สุด (MSB) ดีงมาไว้เป็นบิตแรกเช่นเดิม
- นำบิตแรกไปบวกกับบิตตัวที่ 2
- นำบิตตัวที่ 2 ไปบวกกับบิตตัวที่ 3
- นำบิตตัวที่ 3 ไปบวกกับบิตตัวที่ 4 ไปเรื่อยๆจนหมด ผลบวกที่เราได้ ก็คือ Gray Code เช่น
- Binary________1110011001
- Gray Code____ 1001010101
ขั้นตอนการแปลงจากรหัสเกรย์ เป็นเลขฐานสอง[แก้]
มีหลักคล้ายๆกับ การแปลงเลข Binary ให้เป็น Gray Code โดยเริ่มต้นจาก MSB เช่นเดียวกัน นั่นคือ
- MSB ของเลข Binary จะมีค่าเหมือนกับ MSB ของ Gray code
- นำ MSB ของเลข Binary บวกกับบิตที่ 2 (นับจาก MSB) ของ Gray code ผลบวกที่ได้คือ บิตที่ 2 ของเลข Binary
- นำบิตที่ 2 ของเลข Binary บวกกับบิตที่ 3 ของ Gray Code ผลบวกที่ได้คือ บิตที่ 3 ของเลข Binary
- บวกกันเช่นนี้ไปเรื่อยๆจนหมด เช่น
- Gray Code_____1110111010
- Binary________1011010011
![]() |
บทความเกี่ยวกับคอมพิวเตอร์ อุปกรณ์ต่าง ๆ หรือเครือข่ายนี้ยังเป็นโครง คุณสามารถช่วยวิกิพีเดียได้โดยการเพิ่มเติมข้อมูล ดูเพิ่มที่ สถานีย่อย:เทคโนโลยีสารสนเทศ |