Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Prevod cisel

Zdravim ludkovia chcel by som sa spytat, ci sa da previest cislo zo 16-tkovej sustavy do 4-kovej bez toho aby som ho predtym previedol do 10-tkovej (pomôcky: papier, pero)

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
V tomto speciálním případě stačí převést vstupní řetězec znak po znaku ( lhostejno, zda zepředu či z… nový
hynajs 13.10.2010 12:36
hynajs
tak daleko jsem to už nedomýšlel.. nový
touchwood 13.10.2010 14:24
touchwood
Ještě bych podotknul, že převod naopak je podle tabulky stejně možný, jenom se řetězec musí brát po… nový
hynajs 13.10.2010 15:15
hynajs
Ludia prosimvas clovek sa lisi od PC tym ze vie rozmyslat. Tabulky nechajte pre blbe stroje ;) nový
MM.. 14.10.2010 01:08
MM..
Da sa to zhlavy, nepotrebujes ani papier ani pero a casu potrebujes asi tak 2sekundy na cifru. Vset… nový
MM.. 14.10.2010 01:04
MM..
Držel jsem se přesně zadání tazatele : bez toho aby som ho predtym previedol do 10-tkovej čímž za… nový
hynajs 14.10.2010 08:09
hynajs
To neni prevod cisla do desiatkovej, to je normalne delenie F/4. Akurat som tam v zatvorke napisal c… nový
MM.. 14.10.2010 18:51
MM..
OK poslední
hynajs 14.10.2010 20:38
hynajs
Hezky po pismenku, kazde nahradis dvema: IF 0 THEN 00 IF 1 THEN 01 IF 2 THEN 02 IF 3 THEN 03 IF 4 T… nový
AZOR 14.10.2010 18:58
AZOR
a kdybych nebyl ** tak jsem si mohl precist, ze uz to tu nikdo psal. Nic jednodussiho se vymslet ned… nový
AZOR 14.10.2010 19:00
AZOR

V tomto speciálním případě stačí převést vstupní řetězec znak po znaku ( lhostejno, zda zepředu či zezadu ) podle převodní tabulky pro šestnáct znaků :
0 - 00
1 - 01
2 - 02
3 - 03
4 - 10
5 - 11
6 - 12
7 - 13
8 - 20
9 - 21
A - 22
B - 23
C - 30
D - 31
E - 32
F - 33

Nic víc.

Příklad : "AF" ... 2233 otrocky podle tabulky.

Ještě bych podotknul, že převod naopak je podle tabulky stejně možný, jenom se řetězec musí brát po dvojicích zprava ( nebo řetězec doplňme nulou zleva, pokud je počet znaků lichý).

Pokud je v řetězci čárka (která už teda není desetinná ;-) ), převedeme zvlášť pravý a zvlášť levý řetězec.

Analogickým způsobem lze postupovat vždy, když je jeden základ n-tou mocninou druhého. Pak místo dvojic bereme n-tice.

Samozřejmě pokud není splněna naše luxusní podmínka (jeden základ mocninou druhého), otrocký postup je nepoužitelný. Pokud potřebujeme funkci pro převod z jedné obecné soustavy do druhé a nemáme ji šťastně v knihovně, jedná se o pěkné programátorské cvičení.
Momentálně si prohlížím svůj starý výtvor a moc se v ní nevyznám :-D. No, hlavně že chodí.

Da sa to zhlavy, nepotrebujes ani papier ani pero a casu potrebujes asi tak 2sekundy na cifru.

Vsetky 2 na n-tu sustavy vpodstate vychadzaju z dvojkovej, zoskupovanim bitov. 4kova zoskupujes 2bity, 16kova zoskupujes 4bity. Z toho vylpyva ze jedna cifra 16kovej bude 2 cifry 4kovej.

A teda kazdu cifru 16kovej mozes ZHLAVY vydelit 4mi a vysledok (celociselny) je prva cifra a zvysok po deleni je druha cifra 4kovej.

Priklad:
16kova: F
4kova: F(=15)/4 = 3 zvysok 3, preto "F" 16kovej je "33" v 4kovej.

Priklad2:
16kova: 96
4kova: 9/4 = 2 zvysok 1, 6/4 = 1 zvysok 2, preto "96" 16kovej je "2112" v 4kovej.

Staci ti vediet malu nasobilku (nasobky 4) do cisla 15, co vie kazdy prvak ZS.

P.S. zaryty hardwarista to robi zhlavy tak ze to prevadza zhlavy cez dvojkovu sustavu, je to pre neho jednoduchsie ako delit 4-mi :)

Držel jsem se přesně zadání tazatele :

bez toho aby som ho predtym previedol do 10-tkovej

čímž zavání : F=15.
Striktně vzato jsi to do desítkové nepřevedl, ale asi těžko někdo uvažuje C/4=3 .

Kdyby tam ta podmínka nebyla, pak je samozřejmě nějaká tabulka konina a uvedený postup je navýsost přirozený. :-)

To neni prevod cisla do desiatkovej, to je normalne delenie F/4. Akurat som tam v zatvorke napisal co to je symbol F a jak sa to da delit. A,B,C,D,E,F su normalne cifry, stejne ako 0 az 9, a F/4 je stejna operacia ako napr. 9/4 alebo 3/4, a moze ju urobit spameti.

Neni v tom ziaden prevod cisla do desiatkovej sustavy.

P.S. uvazovat ze C/4=3 bude musiet ked to chce prevadzat priamo zo 16kovej. Stejne tak napr. v dvojkovej sustave musi iuvazovat ze 1+1=10, ked chce nieco robit v dvojkovej. Ked tak uvazovat nevie tak ma smolu nebude prevadzat nic z hlavy :)

Hezky po pismenku, kazde nahradis dvema:

IF 0 THEN 00
IF 1 THEN 01
IF 2 THEN 02
IF 3 THEN 03
IF 4 THEN 10
IF 5 THEN 11
IF 6 THEN 12
IF 7 THEN 13
IF 8 THEN 20
IF 9 THEN 21
IF A THEN 22
IF B THEN 23
IF C THEN 30
IF D THEN 31
IF E THEN 32
IF F THEN 33

a kdybych nebyl ** tak jsem si mohl precist, ze uz to tu nikdo psal. Nic jednodussiho se vymslet neda, maximalne jeste:
Znak%mod 4. S tim, ze to muze bejt klidne v 16tkove soustave "mod", to neni nic proti nicemu.

Zpět do poradny Odpovědět na původní otázku Nahoru