ตัวแปลงรหัสคืออะไร: รหัสไบนารีเป็นสีเทาและรหัสสีเทาเป็นการแปลงไบนารี

ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา





ในคอมพิวเตอร์เราต้องแปลงไบนารีเป็นสีเทาและสีเทาเป็นไบนารี การแปลงนี้สามารถทำได้โดยใช้กฎสองข้อคือการแปลงไบนารีเป็นสีเทาและการแปลงสีเทาเป็นไบนารี ในการแปลงครั้งแรก 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

00000000
10001

0001

สอง

0010

0011

3

00110010

4

0100

0110

50101

0111

6

01100101
70111

0100

8

1,0001100

9

1001

1101

101010

1111

สิบเอ็ด

1011

1110

12

11001010

13

1101

1011

141110

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

00000000

1

0001

0001

สอง0010

0010

3

00110011

4

0110

0100

50111

0101

6

01010110
70100

0111

8

11001,000
91101

1001

10

11111010
สิบเอ็ด1110

1011

12

10101100
131011

1101

14

10011110
สิบห้า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 เดียวจะเชื่อมต่อกับอินพุตของลอจิกเกตอื่น ๆ ภายในชิปเดียวกันหรือชิปอื่นจนกว่าจะใช้ขั้วกราวด์ร่วมกัน

ดังนั้นนี่คือข้อมูลเกี่ยวกับตัวแปลงรหัสไบนารีเป็นสีเทาและตัวแปลงรหัสสีเทาเป็นรหัสไบนารี จากข้อมูลข้างต้นในที่สุดเราก็สามารถสรุปได้ว่า ตัวแปลงเหล่านี้ มีบทบาทสำคัญในการดำเนินการต่างๆของ อิเล็กทรอนิกส์ดิจิทัล ตลอดจนการสื่อสารระหว่างระบบตัวเลขต่างๆ ตัวอย่างตัวแปลงรหัสที่เราได้กล่าวไปข้างต้นอาจเป็นประโยชน์ในการทำความเข้าใจแนวคิดวิธีการคำนวณเหล่านี้ นี่คือคำถามสำหรับคุณอะไรคือการใช้งานรหัสสีเทา?