Převod kodu 2 z 5 na GRAY

Od: Datum: 12.11.13 18:28 odpovědí: 5 změna: 12.11.13 20:59

Dostali jsme za úkol z Číslicový techniky udělat koder z kodu 2 z 5 na GRAY kod...vím jak kody vypadají, ale mám problém stim že každej kod je jinak dlouhej...Resp...2 z 5 má 5bitů a je na 10 řádků ale GRAY je na 16 takže musim udělat aby byly kompatibilní..poradí mi někdo?


Seznam odpovědí:
 
moment čekejte prosím, probíhá přenos dat...
Zobrazení struktury odpovědí v otázce
Skrytí struktury odpovědí v otázce
Zobrazení struktury odpovědí v otázce

 

Odpovědi na otázku:
Od: hm®
Datum: 12.11.13 19:31
avatar

Nevím, jestli to dobře chápu, ale jak "kompatibilní"? Kód 2z5 (podíval jsem se do wikipedie), má startznak, pak číslice (kódované 5 znaky) a stopznak, Grayův kód je binární, ale trochu jinak. Takže když dostaneš ve 2z5 "start 1 2 stop", tak bych to do Grayova převedl jako "1010" (to je, doufám, grayovsky 12). Když dostaneš ve 2z5 "start 8 5 3 4 0 7 stop", tak převedeš číslo 853407 do Grayova kódu (ten teď nevymyslím, takže musíš sám).

Takhle bych zadání chápal já.

doplněno 12.11.13 19:36:

Takže jde o to z těch jedniček a nul kódu 2z5 zjistit, o jaké číslo (dekadicky) se jedná a to pak převést do binární (nevím, jestli je použitelná i nějaká jiná) formy Grayova kódu.

Ohodnoceno: 2x
 
Od: tompaur
Datum: 12.11.13 20:13

Mě jde o to že mi pracujem jenom z těma číslama...a když mám vedle sebe ty tabulky na 2z5 a GRAY tak mi v tabulce pro 2z5 jich 6 chybí...a já to musim jakože prodloužít...přikládám soubor jak jsem to myslel...dělal jsem to podle učitelova návodu...ale nemůžu se dostat nebo nedokážu vytvořit funkce z toho

Od: hm®
Datum: 12.11.13 20:39
avatar

Na wikipedii mají ten kód 2z5 nějak jinak, netvrdím, že dobře.





















Znak

C1

C2

C3

C4

C5

0

0

0

1

1

0

1

1

0

0

0

1

2

0

1

0

0

1

3

1

1

0

0

0

4

0

0

1

0

1

5

1

0

1

0

0

6

0

1

1

0

0

7

0

0

0

1

1

8

1

0

0

1

0

9

0

1

0

1

0

Start

1

1

0



Stop

1

0

1


Je jasné, že když 2z5 používá číslice 0..9 a ty vezmeš jen "jednoznakový" kód a přitom Grayův kód bereš 4bitový, tak má kombinací víc. Kdybys chtěl 0..15 (jako ten 4bitový Gray), musel bys použít dvojznakový 2z5, ale ten zas umí 00..99, což je víc, než 4bitový Gray. Zkrátka 2z5 pracuje s dekadickými čísly, zatímco Grayův je binární.

Opravdu máte vytvořit jen takto omezenou převodní tabulku? Jestli ano, tak prostě použij dvojznakový 2z5 s kódy jen 00..15.

doplněno 12.11.13 20:40:

Proč ta mezera? O tu jsem se nesnažil.

doplněno 12.11.13 20:44:

Jo ale teď koukám, že jestli je dobře to tvoje kódování 2z5, tak bys asi tu tabulku měl správně.

Ohodnoceno: 1x
 
Od: tompaur
Datum: 12.11.13 20:43

Vím že je to otravné ale nemohl bys mi do excelu udělat jak to myslíš? Takhle jsem to udělal podle učitel...ten řekl že máme tabulku pro jednotky tu uprostřed a pak k ní máme udělat pro desítky to je vlastně ta šedá...ale pak nevim jak z toho udělat funkce protože je tam moc proměnných

Od: hm®
Datum: 12.11.13 20:59
avatar

No, abych tady psal celé funkce, na to nemám ani čas, ani náladu. Ale proměnných zas tolik není. Jakým způsobem dostanete vstup? Jako číslo? Integer? Nebo sadu znaků 0 a 1? Tak si třeba sestav dvojrozměrné pole integerů, do prvního sloupce si vyplň postupně 0x18C, 0x198, ..., 0x306 (to je těch 10 "bitů" kódu 2z5 ze tvé tabulky) a do druhého sloupce postupně 0x0, 0x1, 0x3, ..., 0x8, to je Gray z tabulky. A až dostaneš 2 znaky (10 "bitů") vstupního 2z5, převedeš si je na číslo (jestli už tak nebudou), to číslo najdeš v prvním sloupci tabulky a ve druhém toho stejného řádku bude výsledek v Grayově kódu (jen ho pak rozepiš binárně). Třeba. První jednoúčelový nápad.

Ohodnoceno: 1x
 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz

 
Copyright © 2004-2016 Poradna Poradte.cz. Všechna práva na poradně Poradte.cz vyhrazena.