Kas yra kodo keitiklis: iš dvejetainio į pilką kodą ir pilką kodą į dvejetainį konversiją

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





Kompiuteriuose turime konvertuoti dvejetainį į pilką, o pilką - į dvejetainį. Tai galima konvertuoti naudojant dvi taisykles, būtent dvejetainę į pilką ir pilką į dvejetainę. Pirmojo keitimo metu pilkojo kodo MSB nuolat prilygsta dvejetainio kodo MSB. Papildomi pilkojo kodo išvesties bitai gali naudoti EX-OR logikos vartų koncepciją prie dvejetainių kodų, esančių dabartiniame, taip pat ankstesniame rodyklėje. Čia MSB yra ne kas kita, o pats reikšmingiausias bitas. Pirmojo konversijos metu dvejetainio kodo MSB nuolat prilygsta konkretaus dvejetainio kodo MSB. Papildomus dvejetainio kodo išvesties bitus galite gauti naudodami EX-OR logikos vartai koncepciją, patikrindami pilkus kodus toje rodyklėje. Jei dabartinis pilkojo kodo bitas yra lygus nuliui, po to nukopijuokite ankstesnį dvejetainį kodą ir ankstesnio dvejetainio kodo bitą. Šiame straipsnyje aptariama kodų keitiklių apžvalga, apimanti dvejetainio į pilką kodų keitiklį, taip pat pilkojo į dvejetainį kodų keitiklį.

Kas yra dvejetainis kodas?

Skaitmeniniuose kompiuteriuose kodas, naudojamas remiantis dvejetainių skaičių sistema, yra žinomas kaip dvejetainis kodas. Yra dvi galimos būsenos, tokios kaip ĮJUNGTAS IR IŠJUNGTAS, kurios vaizduojamos per 0 ir 1. Skaitmeninė sistema naudoja 10 skaitmenų, kur kiekviena skaitmens padėtis reiškia 10 galią. Dvejetainėje sistemoje kiekviena skaitmens padėtis rodo 2 galią.




Dvejetainis kodo signalas apima elektrinių impulsų seką, žyminčią vykdytinus simbolius, skaičius ir operacijas. Laikrodžio įtaisas yra naudojamas normaliems impulsams perduoti, taip pat komponentams, tokiems kaip tranzistoriai, įjungiami / išjungiami, kad tekėtų, kitaip blokuoja signalus. Dvejetainiame kode kiekvienas dešimtainis skaičius nuo 0 iki 9 gali būti pažymėtas per 4 dvejetainių bitų / skaitmenų rinkinį. Pagrindines 4 aritmetines operacijas, tokias kaip sudėjimas, atimimas, dauginimas ir dalijimas, galima sumažinti iki dvejetainių skaičių Būlio algebrinių funkcijų derinių.

Kas yra pilkasis kodas?

Pilkasis kodas arba RBC (atspindėtas dvejetainis kodas) arba ciklinis kodas yra dvejetainių skaičių sistemų serija. Pagrindinė priežastis, kodėl reikia vadinti šį atspindėtą dvejetainį kodą, yra tai, kad pradinės N / 2 vertės yra atvirkštine tvarka, palyginti su paskutinėmis N / 2 reikšmėmis. Tokio tipo kode dvi viena po kitos einančios vertės keičiamos per vieną bitą dvejetainių skaitmenų. Šie kodai daugiausia naudojami bendroje aparatinės įrangos sukurtų dvejetainių skaičių serijoje.



Dvejetainiai skaičiai gali sukelti klaidų, kai pereinama nuo vieno skaičiaus prie kito. Šio tipo kodai iš esmės išsprendžia šią bėdą pakeisdami tik vieną bitą, kai tik pakeičiami skaičiai.

Šis kodas yra labai lengvas ir nepriklauso nuo skaitmenų vertės, nurodytos visoje pozicijoje. Šis kodas taip pat vadinamas cikliniu kintamuoju kodu, nes pakeitus vieną vertę į iš eilės einančią vertę, pasikeičia tik vienas bitas.


Tai yra populiariausia vieneto atstumo kodams, tačiau netinka aritmetinėms funkcijoms. Pilkojo kodo programos apima analoginius į skaitmeninius keitiklius ir skaitmeninį ryšį klaidų taisymui. Pirma, pilką kodą nėra lengva suprasti, tačiau jis tampa labai lengvai atpažįstamas.

Dvejetainis į pilką kodų keitiklį

Dvejetainis kodas yra labai paprastas duomenų pateikimas naudojant dvi reikšmes, tokias kaip 0 ir 1, ir jis daugiausia naudojamas kompiuterio pasaulyje. Dvejetainis kodas gali būti didelis (1) arba mažas (0), arba netgi modifikuoti vertę. Pilkasis kodas arba atspindėtas dvejetainis kodas įvertina dvejetainio kodo pobūdį, kuris yra išdėstytas su įjungimo ir išjungimo indikatoriais, paprastai žymimais vienais ir nuliais. Šie kodai naudojami aiškumui, taip pat klaidų modifikavimui dvejetainiuose failuose komunikacijos .

Dvejetainį kodą paversti pilkuoju kodu galima naudojant a loginė grandinė . Pilkas kodas yra nesvertinis kodas, nes nėra priskiriamas ypatingas bitų padėties svoris. N bitų kodą galima gauti atkartojant n-1 bitų kodą ašyje, einančioje po 2 eilučiųn-1, taip pat padedant svarbiausią 0 bitą virš ašies, o reikšmingiausią - 1 po ašimi. Žemiau parodytas žingsnis po žingsnio pilkojo kodo generavimas.

Dvejetainio ir pilkojo kodų konvertavimo loginė grandinė

Dvejetainio ir pilkojo kodų konvertavimo loginė grandinė

Šis metodas naudoja „Ex-OR“ vartus atlikti tarp dvejetainių bitų. Šis geriausias pavyzdys bus labai naudingas žinant dvejetainio pavertimą pilka. Taikydami šį konversijos metodą, pašalinkite dabartinio dvejetainio skaičiaus MSB bitą, nes pilkojo kodo pirminis arba MSB bitai yra panašūs į dvejetainį skaičių.

Norėdami gauti tiesiai pilkus koduotus bitus, kad generuotumėte atitinkamus pilkai koduotus skaitmenis duotiems dvejetainiams skaitmenims, pridėkite pagrindinį skaitmenį arba dvejetainio skaičiaus MSB skaitmenį prie antrojo skaitmens ir užrašykite gaminį šalia pagrindinio pilkojo kodo ir pridėkite kitą dvejetainį bitą prie trečiojo bito, tada užrašykite produktą šalia 2ndšiek tiek pilko kodo. Panašiai laikykitės šios procedūros iki paskutinio dvejetainio bitų, taip pat pažymėkite rezultatus, priklausomai nuo to EX-OR loginė operacija generuoti atitinkamą pilkai koduotą dvejetainį skaitmenį.

Dvejetainio ir pilkojo kodų keitiklio pavyzdys

Tarkime, kad dvejetainio kodo skaitmenys yra bo, b1, b2, b3, o konkretų pilkąjį kodą galima pasiekti remiantis šia koncepcija.

Kodo konversijos pavyzdys

Kodo konversijos pavyzdys

Iš pirmiau minėtos operacijos galiausiai galime gauti pilkąsias reikšmes, tokias kaip g3 = b3, g2 = b3 XOR b2, g1 = b2 XOR b1, g0 = b1 XOR b0.

Konversijos pavyzdys

Konversijos pavyzdys

Pavyzdžiui, paimkite dvejetainę vertę b3, b2, b1, b0 = 1101 ir raskite pilką kodą g3, g2, g1, g0, remdamiesi pirmiau pateikta koncepcija

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

Galutinis dvejetainio 1101 vertės pilkasis kodas yra 1011

Dvejetainio ir pilkojo kodų keitiklio lentelė

Dešimtainis skaičius

Dvejetainis kodas

Pilkasis kodas

0

00000000
10001

0001

du

0010

0011

3

00110010

4

0100

0110

50101

0111

6

01100101
70111

0100

8

10001100 m

9

1001

1101 m

101010 m

1111 m

vienuolika

1011 m

1110 m

12

1100 m1010 m

13

1101 m

1011 m

141110 m

1001

penkiolika1111 m

1000

VHDL kodas, skirtas konvertuoti iš dvejetainio į pilką kodą yra pateiktas žemiau.

BIBLIOTEKA ieee
NAUDOTI ieee.std_logic_1164. VISI
esmė bin2gray yra
prievadas (bin: in std_logic_vector (3 iki 0) - dvejetainis įvestis
G: out std_logic_vector (3 iki 0) - pilkojo kodo išvestis
)
galas bin2gray
yra „bin2gray“ architektūros „gate_level“ yra
pradėti
–Šalia vartų.
G (3)<= bin(3)
G (2)<= bin(3) xor bin(2)
G (1)<= bin(2) xor bin(1)
G (0)<= bin(1) xor bin(0)
galas

Privalumai

The dvejetainio kodo pranašumai įtraukti šiuos dalykus.

  • Pagrindinis dvejetainio kodo naudojimo pranašumas yra tas, kad jis tiesiog nurodomas per elektroninius prietaisus
  • Dvejetainius duomenis taip pat labai paprasta laikyti.
  • Labai lengva žymėti ir valdyti elektroniniu ir mechaniniu būdu.
  • Simbolių atvaizdavimo skirtumai gali būti padidinti, todėl galima sumažinti klaidų galimybę.

The dvejetainio kodo trūkumai įtraukti šiuos dalykus.

  • Reikiamą simbolių skaičių galima padidinti, kad būtų nurodytas tam tikras skaičius bendros padėties vertės sistemų.
  • Žmonės negali jų skaityti itin efektyviai dėl jų ilgio ir ir pagal numatytuosius nustatymus naudoja dešimt skaičių
  • Bet kuriam loginiam skaičiui žymėti naudojama daugybė skaitmenų

Programos

Dvejetainio kodo programos apima:

  • Dvejetainiai kodai naudojami telekomunikacijose, taip pat skaičiuojant įvairias duomenų kodavimo technikas, pavyzdžiui, simbolių eilutes į bitų eilutes. Šiais metodais naudojamas plotis yra fiksuotas, kitaip kintamo pločio eilutės.
  • Tai naudojama kompiuterių kalbose, taip pat programuojant, nes kompiuterių kalbos daugiausia priklauso nuo 2 skaitmenų skaičių sistemų.

Pilka į dvejetainį kodų keitiklį

Šis pilkos ir dvejetainės konversijos metodas taip pat naudoja „EX-OR“ loginių vartų koncepciją tarp pilkųjų ir dvejetainių bitų. Šis pavyzdys su žingsnis po žingsnio procedūra gali padėti sužinoti pilkojo kodo konversijos į dvejetainį kodą koncepciją.

Norėdami pakeisti pilką į dvejetainį kodą, nuimkite pilkojo kodo numerio MSB skaitmenį, nes pilkojo kodo pagrindinis arba MSB yra panašus į dvejetainį skaitmenį.

Norėdami gauti kitą tiesų dvejetainį bitą, jis naudoja XOR operaciją tarp pirminio bito arba MSB dvejetainį bitą prie kito pilkojo kodo.

Pilka į dvejetainio kodo konversijos loginę grandinę

Pilka į dvejetainio kodo konversijos loginę grandinę

Panašiai, norint gauti trečiąjį tiesinį dvejetainį bitą, jis naudoja XOR operaciją tarp antrojo bito arba MSB bitų dvejetainį ir trečiąjį pilkojo kodo MSD bitą ir pan.

Pilkojo ir dvejetainio kodo keitiklio pavyzdys

Tegul prisiima Pilkasis kodas skaitmenis g3, g2, g1, g0, o tam tikrus dvejetainio kodo skaitmenis yra bo, b1, b2, b3, galima pasiekti remiantis šia koncepcija.

Konversijos pavyzdys

Konversijos pavyzdys

Iš pirmiau minėtos operacijos galiausiai galime gauti dvejetaines reikšmes, tokias kaip b3 = g3, b2 = b3 XOR g2, b1 = b2 XOR g1, b0 = b1 XOR g0.

Kodo konversijos pavyzdys

Kodo konversijos pavyzdys

Pavyzdžiui, paimkite pilką reikšmę g3, g2, g1, g0 = 0011 ir raskite dvejetainį kodą b3, b2, b1, b0, remdamiesi pirmiau pateikta koncepcija

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

Galutinis pilkasis 0011 vertės dvejetainis kodas yra 0010

Nuo pilkos iki dvejetainio kodo keitiklio lentelės

Dešimtainis skaičius Pilkasis kodas

Dvejetainis kodas

0

00000000

1

0001

0001

du0010

0010

3

00110011

4

0110

0100

50111

0101

6

01010110
70100

0111

8

1100 m1000
91101 m

1001

10

1111 m1010 m
vienuolika1110 m

1011 m

12

1010 m1100 m
131011 m

1101 m

14

10011110 m
penkiolika1000

1111 m

Privalumai

The pilkojo kodo privalumai įtraukti šiuos dalykus.

  • Loginę grandinę galima sumažinti
  • Naudojamas kertant laikrodžio domeną
  • Naudojamas siekiant sumažinti klaidą keičiant signalus iš analoginių į skaitmeninius
  • Kai jis bus naudojamas genetiniuose algoritmuose, sienų atsiradimą galima sumažinti.

Trūkumai

Pilkojo kodo trūkumai yra šie.

  • Netinka aritmetinėms funkcijoms
  • Taikoma keliems tiksliems tikslams

Programos

Pilkojo kodo programos apima:

  • Jis naudojamas analoginiuose ir skaitmeniniuose keitikliuose
  • Skaitmeniniame ryšyje klaidai ištaisyti
  • Tai sumažina klaidas keičiant signalus iš analoginių į skaitmeninius.
  • Matematiniai galvosūkiai
  • Būlo grandinės sumažinimas
  • Jis naudojamas ryšiui tarp dviejų laikrodžio domenų
  • Genetiniai algoritmai
  • Padėties kodavimo įrenginiai

VHDL kodas pilkam kodui į dvejetainę konversiją yra pateiktas žemiau.

BIBLIOTEKA ieee
NAUDOTI ieee.std_logic_1164. VISI
subjektas gray2bin yra
prievadas (G: in std_logic_vector (3 iki 0) - pilkojo kodo įvestis
bin: out std_logic_vector (3 iki 0) - dvejetainis išėjimas
)
galas pilkas2bin
yra architektūra gate_level of grey2bin yra
pradėti
–Šalia vartų.
esu (3)<= G(3)
esu (2)<= G(3) xor G(2)
esu (1)<= G(3) xor G(2) xor G(1)
esu (0)<= G(3) xor G(2) xor G(1) xor G(0)
galas

3 bitų dvejetainis ir pilkasis kodų keitiklis

Tarkime, kad dvejetainiai skaitmenys yra 3 bitų dvejetainiu skaičiumi, pvz., B0, b1, b2, kur „b2“ bitas yra MSB (reikšmingiausias bitas), o „b0“ bitas yra dvejetainio skaičiaus LSB (mažiausiai reikšmingas bitas). Pilko kodo skaitmenys yra g0, g1, g2, jei tik „g2“ skaitmuo yra MSB (reikšmingiausias bitas), o skaitmuo „g0“ yra pilkojo kodo LSB (mažiausiai reikšmingas bitas).

Dvejetainis kodas - b2, b1, b0

Pilkasis kodas - g2, g1, g0

000

000
001

001

010

011
011

010

100

110
101

111

110

101

111

100

Taigi loginę išraišką galima išspręsti dvejetainio į pilką kodų keitiklį naudojant k-map, galime gauti g2 = b2, g1 = b1⊕ b2 & g0 = b0 ⊕ b1. Taip pat galime pakeisti n bitų dvejetainį skaičių (bnb (n-1)… b2 b1 b0) į pilką kodą (gng (n-1) ... g2 g1 g0).

LSB (mažiausiai reikšmingas bitas)

g0 = b0⊕b1

g1 = b1⊕b2

g2 = b1⊕b2

g (n-1) = b (n-1) ⊕ bn, gn = bn.

Pavyzdžiui, paverskite 111010 dvejetainius skaičius į pilką kodą.

Taigi, remiantis aukščiau pateiktu algoritmu,

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

Taigi, dvejetainis kodas konvertuojamas į pilką kodą - 100111.

Dvejetainis į pilką kodų keitiklis naudojant IC 7486

Dvejetainį paversti pilka ir pilka į dvejetainę galima naudojant IC7486. Tam reikalingi komponentai yra skydelis, jungiamieji laidai, šviesos diodai, rezistoriai, XOR (IC7486), mygtukų jungikliai ir maitinimo šaltinio akumuliatorius.

IC7486 pakuotėje daugiausia yra keturi XOR loginiai vartai, iš kurių 7 ir 14 kaiščiai tieks visus loginius vartus. Vienų XOR vartų o / ps yra prijungtas prie kitų loginių vartų įvesties toje pačioje ar kitoje mikroschemoje, kol jie turi panašų įžeminimo terminalą.

Taigi, viskas yra apie dvejetainių ir pilkųjų kodų keitiklį ir pilkųjų-dvejetainių kodų keitiklius. Pagal aukščiau pateiktą informaciją galime tai padaryti šie keitikliai vaidina esminį vaidmenį atliekant įvairias operacijas skaitmeninė elektronika taip pat ryšius tarp įvairių skaičių sistemų. Kodo keitiklio pavyzdžiai, kuriuos aptarėme aukščiau, gali padėti suprasti šių skaičiavimų koncepciją. Štai jums klausimas, kokios yra pilkųjų kodų programos?