ในคอมพิวเตอร์เราต้องแปลงไบนารีเป็นสีเทาและสีเทาเป็นไบนารี การแปลงนี้สามารถทำได้โดยใช้กฎสองข้อคือการแปลงไบนารีเป็นสีเทาและการแปลงสีเทาเป็นไบนารี ในการแปลงครั้งแรก MSB ของรหัสสีเทาจะเทียบเท่ากับ MSB ของรหัสไบนารีอย่างต่อเนื่อง บิตเพิ่มเติมของเอาต์พุตของโค้ดสีเทาสามารถรับได้โดยใช้แนวคิดเกท EX-OR กับรหัสไบนารีที่ดัชนีปัจจุบันนั้นรวมทั้งดัชนีก่อนหน้านี้ ที่นี่ MSB ไม่ใช่อะไรนอกจากบิตที่สำคัญที่สุด ในการแปลงครั้งแรก MSB ของรหัสไบนารีจะเทียบเท่ากับ MSB ของรหัสไบนารีโดยเฉพาะอย่างต่อเนื่อง บิตเพิ่มเติมของเอาต์พุตของรหัสไบนารีสามารถรับได้โดยใช้ EX-OR ประตูลอจิก แนวคิดโดยการตรวจสอบรหัสสีเทาที่ดัชนีปัจจุบันนั้น หากบิตรหัสสีเทาปัจจุบันเป็นศูนย์หลังจากนั้นให้คัดลอกรหัสไบนารีก่อนหน้านี้และคัดลอกย้อนกลับของบิตรหัสไบนารีก่อนหน้านี้ บทความนี้กล่าวถึงภาพรวมของตัวแปลงรหัสซึ่งรวมถึงตัวแปลงรหัสไบนารีเป็นสีเทาและตัวแปลงรหัสสีเทาเป็นรหัสไบนารี
รหัสไบนารีคืออะไร?
ในคอมพิวเตอร์ดิจิทัลรหัสที่ใช้ตามระบบเลขฐานสองเรียกว่ารหัสไบนารี มีสถานะที่เป็นไปได้สองสถานะเช่น ON & OFF ที่แสดงด้วย 0 & 1 ระบบดิจิทัลใช้ตัวเลข 10 หลักโดยที่ตำแหน่งของตัวเลขทุกตัวแสดงถึงพลังของ 10 ในระบบไบนารีทุกตำแหน่งของตัวเลขจะแสดงถึงกำลัง 2
สัญญาณรหัสไบนารีประกอบด้วยลำดับของพัลส์ไฟฟ้าที่แสดงถึงอักขระตัวเลขและการดำเนินการที่จะดำเนินการ อุปกรณ์นาฬิกาใช้ในการส่งพัลส์ปกติเช่นเดียวกับส่วนประกอบต่างๆเช่นทรานซิสเตอร์เปิด / ปิดเพื่อการไหลมิฉะนั้นจะบล็อกสัญญาณ ในรหัสไบนารีทุก ๆ เลขฐานสิบตั้งแต่ 0 ถึง 9 สามารถแสดงความหมายผ่านชุดของบิต / หลัก 4 ไบนารี การดำเนินการทางคณิตศาสตร์พื้นฐาน 4 อย่างเช่นการบวกการลบการคูณและการหารทั้งหมดสามารถลดลงเป็นการรวมกันของฟังก์ชันพีชคณิตบูลีนพื้นฐานกับเลขฐานสอง
Grey Code คืออะไร?
รหัสสีเทาหรือ RBC (รหัสไบนารีสะท้อน) หรือรหัสวงจรเป็นชุดของระบบเลขฐานสอง เหตุผลหลักในการเรียกรหัสไบนารีที่สะท้อนนี้คือค่า N / 2 เริ่มต้นอยู่ในลำดับย้อนกลับเมื่อเปรียบเทียบกับค่า N / 2 ล่าสุด ในรหัสประเภทนี้ค่าต่อเนื่องสองค่าจะถูกเปลี่ยนผ่านเลขฐานสองบิตเดียว รหัสเหล่านี้ส่วนใหญ่จะใช้ในชุดเลขฐานสองทั่วไปที่สร้างโดยฮาร์ดแวร์
เลขฐานสองอาจทำให้เกิดข้อผิดพลาดได้เมื่อทำการเปลี่ยนจากเลขตัวเดียวไปเป็นเลขคู่กัน รหัสประเภทนี้โดยทั่วไปจะแก้ปัญหานี้ได้โดยการแก้ไขเพียงหนึ่งบิตเมื่อการเปลี่ยนแปลงระหว่างตัวเลขเสร็จสิ้น
รหัสประเภทนี้มีน้ำหนักเบามากและไม่ได้ขึ้นอยู่กับค่าตัวเลขที่ระบุไว้ทั่วทั้งตำแหน่ง รหัสชนิดนี้มีชื่อว่ารหัสตัวแปรแบบวัฏจักรเนื่องจากการเปลี่ยนแปลงค่าเดียวเป็นค่าต่อเนื่องถือเป็นการเปลี่ยนแปลงเพียงบิตเดียวเท่านั้น
ซึ่งเป็นที่นิยมมากที่สุดสำหรับรหัสหน่วยระยะทางอย่างไรก็ตามไม่เหมาะสำหรับฟังก์ชันเลขคณิต การประยุกต์ใช้รหัสสีเทา ได้แก่ ตัวแปลงอนาล็อกเป็นดิจิตอลและการสื่อสารแบบดิจิทัลสำหรับการแก้ไขข้อผิดพลาด ประการแรกรหัสสีเทาไม่ใช่เรื่องง่ายที่จะเข้าใจ แต่กลายเป็นรหัสที่จดจำได้ง่ายกว่ามาก
ตัวแปลงรหัสไบนารีเป็นสีเทา
รหัสไบนารีเป็นการแสดงข้อมูลที่เรียบง่ายมากโดยใช้ค่าสองค่าเช่น 0 และ 1 และส่วนใหญ่จะใช้ในโลกของคอมพิวเตอร์ รหัสไบนารีอาจเป็นค่าสูง (1) หรือต่ำ (0) หรืออื่น ๆ แม้กระทั่งการแก้ไขค่า รหัสสีเทาหรือรหัสไบนารีที่สะท้อนออกมาจะประมาณลักษณะของรหัสไบนารีที่จัดเรียงด้วยตัวบ่งชี้เปิดและปิดโดยปกติจะแสดงด้วยตัวเลขและศูนย์ รหัสเหล่านี้ใช้เพื่อดูความชัดเจนเช่นเดียวกับการแก้ไขข้อผิดพลาดในไบนารี การสื่อสาร .
การแปลงรหัสไบนารีเป็นสีเทาสามารถทำได้โดยใช้ไฟล์ วงจรลอจิก . รหัสสีเทาเป็นรหัสที่ไม่มีการถ่วงน้ำหนักเนื่องจากไม่มีการกำหนดน้ำหนักเฉพาะสำหรับตำแหน่งของบิต คุณสามารถบรรลุรหัส n-bit ได้โดยการสร้างรหัส n-1 บิตบนแกนที่อยู่ถัดจากแถว 2n-1เช่นเดียวกับการวางบิตที่สำคัญที่สุดของ 0 บนแกนโดยมีบิตที่สำคัญที่สุดของ 1 อยู่ใต้แกน การสร้างโค้ดสีเทาทีละขั้นตอนแสดงอยู่ด้านล่าง

วงจรลอจิกการแปลงรหัสไบนารีเป็นสีเทา
วิธีนี้ใช้ Ex-OR gate เพื่อดำเนินการระหว่างบิตไบนารี ตัวอย่างที่ดีที่สุดต่อไปนี้จะเป็นประโยชน์อย่างมากในการทราบการแปลงไบนารีเป็นสีเทา ในวิธีการแปลงนี้ให้ลบบิต MSB ของเลขฐานสองปัจจุบันออกเนื่องจากบิตหลักหรือบิต MSB ของหมายเลขรหัสสีเทานั้นคล้ายกับเลขฐานสอง
หากต้องการรับบิตรหัสสีเทาตรงสำหรับสร้างตัวเลขรหัสสีเทาที่สอดคล้องกันสำหรับตัวเลขไบนารีที่กำหนดให้เพิ่มหลักหรือ MSB ของเลขฐานสองไปยังหลักที่สองและจดบันทึกผลิตภัณฑ์ที่อยู่ถัดจากบิตหลักของรหัสสีเทาและ เพิ่มไบนารีบิตถัดไปเป็นบิตที่สามจากนั้นจดผลิตภัณฑ์ที่อยู่ถัดจาก 2ndรหัสสีเทาเล็กน้อย ในทำนองเดียวกันให้ทำตามขั้นตอนนี้จนถึงไบนารีบิตสุดท้ายและจดบันทึกผลลัพธ์ขึ้นอยู่กับ การดำเนินการลอจิก EX-OR เพื่อสร้างเลขฐานสองรหัสสีเทาที่สอดคล้องกัน
ตัวอย่างตัวแปลงรหัสไบนารีเป็นสีเทา
สมมติว่าตัวเลขรหัสไบนารีเป็น bo, b1, b2, b3 ในขณะที่รหัสสีเทานั้นสามารถบรรลุได้ตามแนวคิดต่อไปนี้

ตัวอย่างการแปลงรหัส
จากการดำเนินการข้างต้นในที่สุดเราจะได้ค่าสีเทาเช่น g3 = b3, g2 = b3 XOR b2, g1 = b2 XOR b1, g0 = b1 XOR b0

ตัวอย่างการแปลง
ตัวอย่างเช่นใช้ค่าไบนารี b3, b2, b1, b0 = 1101 และค้นหารหัสสีเทา g3, g2, g1, g0 ตามแนวคิดข้างต้น
g3 = b3 = 1
g2 = b3 XOR b2 = 1 XOR 1 = 0
g1 = b2 XOR b1 = 1 XOR 0 = 1
g0 = b1 XOR b0 = 0 XOR 1 = 1
รหัสสีเทาสุดท้ายสำหรับค่าของไบนารี 1101 คือ 1011
ตารางแปลงรหัสไบนารีเป็นสีเทา
เลขฐานสิบ | รหัสไบนารี | รหัสสีเทา |
0 | 0000 | 0000 |
| 1 | 0001 | 0001 |
สอง | 0010 | 0011 |
3 | 0011 | 0010 |
4 | 0100 | 0110 |
| 5 | 0101 | 0111 |
6 | 0110 | 0101 |
| 7 | 0111 | 0100 |
8 | 1,000 | 1100 |
9 | 1001 | 1101 |
| 10 | 1010 | 1111 |
สิบเอ็ด | 1011 | 1110 |
12 | 1100 | 1010 |
13 | 1101 | 1011 |
| 14 | 1110 | 1001 |
| สิบห้า | 1111 | 1,000 |
รหัส VHDL สำหรับการแปลงรหัสไบนารีเป็นสีเทา ได้รับด้านล่าง
ห้องสมุด ieee
ใช้ ieee.std_logic_1164.ALL
เอนทิตี bin2gray คือ
พอร์ต (bin: ใน std_logic_vector (3 downto 0) - อินพุตไบนารี
G: out std_logic_vector (3 downto 0) - เอาต์พุตโค้ดสีเทา
)
ท้าย bin2gray
สถาปัตยกรรม gate_level ของ bin2gray คือ
เริ่ม
- หรือประตู
กรัม (3)<= bin(3)
กรัม (2)<= bin(3) xor bin(2)
กรัม (1)<= bin(2) xor bin(1)
กรัม (0)<= bin(1) xor bin(0)
จบ
ข้อดี
ข้อดีของรหัสไบนารี รวมสิ่งต่อไปนี้
- ประโยชน์หลักของการใช้รหัสไบนารีก็คือการแสดงรหัสผ่านอุปกรณ์อิเล็กทรอนิกส์
- ข้อมูลไบนารียังจัดเก็บได้ง่ายมาก
- ง่ายมากที่จะแสดงความหมายและควบคุมด้วยระบบอิเล็กทรอนิกส์และกลไก
- ความเหลื่อมล้ำระหว่างการแสดงสัญลักษณ์สามารถเพิ่มขึ้นเพื่อลดความเป็นไปได้ของข้อผิดพลาด
ข้อเสียของรหัสไบนารี รวมสิ่งต่อไปนี้
- สามารถเพิ่มจำนวนสัญลักษณ์ที่ต้องการเพื่อแสดงถึงจำนวนที่กำหนดของระบบค่าตำแหน่งโดยรวม
- มนุษย์ไม่สามารถอ่านได้อย่างมีประสิทธิภาพเนื่องจากความยาวและและใช้ตัวเลขฐานสิบเป็นค่าเริ่มต้น
- ใช้ตัวเลขจำนวนมากเพื่อแสดงถึงจำนวนตรรกะใด ๆ
การใช้งาน
การประยุกต์ใช้รหัสไบนารีมีดังต่อไปนี้
- รหัสไบนารีถูกใช้ในการสื่อสารโทรคมนาคมเช่นเดียวกับการคำนวณสำหรับเทคนิคต่างๆในการเข้ารหัสข้อมูลเช่นสตริงอักขระไปจนถึงสตริงบิต ความกว้างที่ใช้โดยวิธีการเหล่านี้ได้รับการแก้ไขไม่เช่นนั้นสตริงความกว้างตัวแปร
- ใช้ในภาษาคอมพิวเตอร์เช่นเดียวกับการเขียนโปรแกรมเนื่องจากภาษาคอมพิวเตอร์ส่วนใหญ่ขึ้นอยู่กับระบบตัวเลข 2 หลัก
ตัวแปลงสีเทาเป็นรหัสไบนารี
วิธีการแปลงสีเทาเป็นไบนารีนี้ยังใช้แนวคิดการทำงานของประตูลอจิก EX-OR ระหว่างบิตของสีเทาและบิตไบนารี ตัวอย่างต่อไปนี้พร้อมขั้นตอนทีละขั้นตอนอาจช่วยให้ทราบแนวคิดการแปลงรหัสสีเทาเป็นรหัสไบนารี
หากต้องการเปลี่ยนสีเทาเป็นรหัสไบนารีให้ลบตัวเลข MSB ของหมายเลขรหัสสีเทาเนื่องจากตัวเลขหลักหรือ MSB ของรหัสสีเทาจะคล้ายกับเลขฐานสอง
ในการรับบิตไบนารีแบบตรงถัดไปจะใช้การดำเนินการ XOR ระหว่างบิตหลักหรือบิต MSB ของไบนารีกับบิตถัดไปของรหัสสีเทา

วงจรลอจิกการแปลงรหัสสีเทาเป็นรหัสไบนารี
ในทำนองเดียวกันในการรับบิตไบนารีเส้นตรงที่สามจะใช้การดำเนินการ XOR ระหว่างบิตที่สองหรือบิต MSB ของไบนารีกับบิต MSD ที่สามของรหัสสีเทาและอื่น ๆ
ตัวอย่างของ Gray to Binary Code Converter
ให้ถือว่า รหัสสีเทา ตัวเลข g3, g2, g1, g0 ในขณะที่ตัวเลขรหัสไบนารีเฉพาะคือ bo, b1, b2, b3 สามารถบรรลุได้ตามแนวคิดต่อไปนี้

ตัวอย่างการแปลง
จากการดำเนินการข้างต้นในที่สุดเราก็จะได้ค่าไบนารีเช่น b3 = g3, b2 = b3 XOR g2, b1 = b2 XOR g1, b0 = b1 XOR g0

ตัวอย่างการแปลงรหัส
ตัวอย่างเช่นใช้ค่าสีเทา g3, g2, g1, g0 = 0011 และค้นหารหัสไบนารี b3, b2, b1, b0 ตามแนวคิดข้างต้น
b3 = g3 = 0
b2 = b3 XOR g2 = 0 XOR 0 = 0
b1 = b2 XOR g1 = 0 XOR 1 = 1
b0 = b1 XOR g0 = 1 XOR 1 = 0
รหัสไบนารีสุดท้ายสำหรับค่าสีเทา 0011 คือ 0010
ตารางแปลงสีเทาเป็นรหัสไบนารี
| เลขฐานสิบ | รหัสสีเทา | รหัสไบนารี |
0 | 0000 | 0000 |
1 | 0001 | 0001 |
| สอง | 0010 | 0010 |
3 | 0011 | 0011 |
4 | 0110 | 0100 |
| 5 | 0111 | 0101 |
6 | 0101 | 0110 |
| 7 | 0100 | 0111 |
8 | 1100 | 1,000 |
| 9 | 1101 | 1001 |
10 | 1111 | 1010 |
| สิบเอ็ด | 1110 | 1011 |
12 | 1010 | 1100 |
| 13 | 1011 | 1101 |
14 | 1001 | 1110 |
| สิบห้า | 1,000 | 1111 |
ข้อดี
ข้อดีของรหัสสีเทา รวมสิ่งต่อไปนี้
- วงจรลอจิกสามารถลดลงได้
- ใช้ในการข้ามโดเมนนาฬิกา
- ใช้สำหรับลดข้อผิดพลาดขณะเปลี่ยนสัญญาณจากอนาล็อกเป็นดิจิตอล
- เมื่อใช้ภายในอัลกอริธึมทางพันธุกรรมแล้วการเกิด hamming wall จะลดลงได้
ข้อเสีย
ข้อเสียของรหัสสีเทามีดังต่อไปนี้
- ไม่เหมาะสำหรับฟังก์ชันเลขคณิต
- ใช้ได้กับการใช้งานที่แม่นยำเพียงไม่กี่อย่าง
การใช้งาน
การใช้รหัสสีเทามีดังต่อไปนี้
- ใช้ในตัวแปลงอนาล็อกเป็นดิจิตอล
- ในการสื่อสารดิจิทัลเพื่อแก้ไขข้อผิดพลาด
- ช่วยลดข้อผิดพลาดขณะเปลี่ยนสัญญาณจากอนาล็อกเป็นดิจิตอล
- ปริศนาทางคณิตศาสตร์
- การย่อขนาดของวงจรบูลีน
- ใช้สำหรับการสื่อสารระหว่างโดเมนนาฬิกาสองโดเมน
- อัลกอริธึมทางพันธุกรรม
- ตัวเข้ารหัสตำแหน่ง
รหัส VHDL สำหรับรหัสสีเทาเพื่อการแปลงไบนารี ได้รับด้านล่าง
ห้องสมุด ieee
ใช้ ieee.std_logic_1164.ALL
เอนทิตี gray2bin คือ
พอร์ต (G: ใน std_logic_vector (3 downto 0) - อินพุตโค้ดสีเทา
bin: out std_logic_vector (3 downto 0) - เอาต์พุตไบนารี
)
สิ้นสุด gray2bin
สถาปัตยกรรม gate_level ของ gray2bin คือ
เริ่ม
- หรือประตู
น. (3)<= G(3)
น. (2)<= G(3) xor G(2)
น. (1)<= G(3) xor G(2) xor G(1)
น. (0)<= G(3) xor G(2) xor G(1) xor G(0)
จบ
ตัวแปลงรหัสไบนารี 3 บิตเป็นสีเทา
สมมติว่าเลขฐานสองในเลขฐานสอง 3 บิตเช่น b0, b1, b2 โดยที่บิต 'b2' คือ MSB (บิตที่มีนัยสำคัญที่สุด) และบิต 'b0' คือ LSB (บิตที่มีนัยสำคัญน้อยที่สุด) ของไบนารี ตัวเลขของรหัสสีเทาคือ g0, g1, g2 โดยที่ตัวเลข 'g2' คือ MSB (บิตที่สำคัญที่สุด) ในขณะที่ตัวเลข 'g0' คือ LSB (บิตที่มีนัยสำคัญน้อยที่สุด) ของรหัสสีเทา
| รหัสไบนารี - b2, b1, b0 | รหัสสีเทา - g2, g1, g0 |
000 | 000 |
| 001 | 001 |
010 | 011 |
| 011 | 010 |
100 | 110 |
| 101 | 111 |
| 110 | 101 |
| 111 | 100 |
ดังนั้นนิพจน์บูลีนสามารถแก้ไขได้สำหรับตัวแปลงรหัสไบนารีเป็นสีเทาโดยใช้ k-map เราจะได้ g2 = b2, g1 = b1⊕ b2 & g0 = b0 ⊕ b1 ในทำนองเดียวกันเราสามารถเปลี่ยนเลขฐานสอง n-bit (bnb (n-1) … b2 b1 b0) เป็น Gray code (gng (n-1) … g2 g1 g0)
สำหรับ LSB (บิตที่มีนัยสำคัญน้อยที่สุด)
g0 = b0⊕b1
g1 = b1⊕b2
g2 = b1⊕b2
g (n-1) = b (n-1) ⊕ bn, gn = bn
ตัวอย่างเช่นแปลงเลขฐานสอง 111010 เป็นรหัสสีเทา
ตามอัลกอริทึมข้างต้น
g0 = b0 ⊕ b1 => 0 ⊕ 1 = 1
g1 = b1 ⊕ b2 = 1 ⊕ 0 = 1
g2 = b2 ⊕ b3 = 0 ⊕1 = 1
g3 = b3 ⊕ b4 = 1⊕1 = 0
g4 = b4 ⊕ b5 = 1 ⊕ 1 = 0
g5 = b5 = 1 = 1
ดังนั้นการแปลงรหัสไบนารีเป็นสีเทาจะเป็น - 100111
ตัวแปลงรหัสไบนารีเป็นสีเทาโดยใช้ IC 7486
การแปลงไบนารีเป็นสีเทาและสีเทาเป็นไบนารีสามารถทำได้โดยใช้ IC7486 ส่วนประกอบที่จำเป็นสำหรับการทำสิ่งนี้คือเขียงหั่นขนมสายไฟ LED ตัวต้านทาน XOR (IC7486) สวิตช์ปุ่มกดและแบตเตอรี่สำหรับแหล่งจ่ายไฟ
แพคเกจของ IC7486 ส่วนใหญ่ประกอบด้วยลอจิกเกต XOR สี่ตัวโดยที่พิน 7 และ 14 จะจัดหาแหล่งจ่ายสำหรับลอจิกเกตทั้งหมด o / ps ของประตู XOR เดียวจะเชื่อมต่อกับอินพุตของลอจิกเกตอื่น ๆ ภายในชิปเดียวกันหรือชิปอื่นจนกว่าจะใช้ขั้วกราวด์ร่วมกัน
ดังนั้นนี่คือข้อมูลเกี่ยวกับตัวแปลงรหัสไบนารีเป็นสีเทาและตัวแปลงรหัสสีเทาเป็นรหัสไบนารี จากข้อมูลข้างต้นในที่สุดเราก็สามารถสรุปได้ว่า ตัวแปลงเหล่านี้ มีบทบาทสำคัญในการดำเนินการต่างๆของ อิเล็กทรอนิกส์ดิจิทัล ตลอดจนการสื่อสารระหว่างระบบตัวเลขต่างๆ ตัวอย่างตัวแปลงรหัสที่เราได้กล่าวไปข้างต้นอาจเป็นประโยชน์ในการทำความเข้าใจแนวคิดวิธีการคำนวณเหล่านี้ นี่คือคำถามสำหรับคุณอะไรคือการใช้งานรหัสสีเทา?