Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Kódování v počítači

Ahoj všem, prosím mohl by mi někdo vysvětlit jak je to s přímým kódem. Jak jsem pochopil, tak slouží k zápisu + i - čísel, tak že nejvyšší bit je 1 u záporného čísla a 0 u kladného např. číslo 123 je kladné 0 |1111011 a záporné je tedy 1 |1111011. Jen mi nejde do hlavy jak zapíšu např. číslo -255, které je binárně 11111111? Díky za odpověď.

Předmět Autor Datum
Do jednoho bytu pochopitelně nijak.
Wikan 04.01.2012 20:57
Wikan
Takže tím pádem můžu vyjádřit maximálně číslo -127 (1|1111111) v 1B?
cobol 04.01.2012 21:00
cobol
1|1111111 = -1 1|0000000 = -128
Wikan 04.01.2012 21:05
Wikan
Není tohle náhodou již inverzní kód, pokud ano, pak by tedy bylo 1|1111111 = -0. Jak se tedy v přímé…
cobol 04.01.2012 21:54
cobol
1|0000001 není -1, protože 1|0000000 by bylo -0 a měli bychom tak zbytečně dvě reprezentace nuly. Sa…
Wikan 04.01.2012 22:08
Wikan
To co pise Wikan je doplnkovy kod a to je jediny kod ktory sa pouziva v praxi. Tie ostatne dve (prim…
MM.. 04.01.2012 22:15
MM..
Super, díky už chápem :-) Díky pánové. poslední
cobol 04.01.2012 22:17
cobol

1|0000001 není -1, protože 1|0000000 by bylo -0 a měli bychom tak zbytečně dvě reprezentace nuly.
Samozřejmě by byla to o 1 posunout a prohlásit, že 1|0000000 = -1, 1|0000001 = -2 atd. Ale to by se pak špatně sčítalo a odečítalo.
Např. pokud máme 1|1111111 = -1, tak přičtením 1 získáme 0|0000000 = 0, tedy matematicky správnou hodnotu.

To co pise Wikan je doplnkovy kod a to je jediny kod ktory sa pouziva v praxi. Tie ostatne dve (primy a inverzny) su len teoreticke hovadiny http://cs.wikipedia.org/wiki/Dvojkov%C3%A1_soustav a. Neries to. Povodnu otazku mas zodpovedanu, ked jeden bit vyhradis pre znamienko tak tym samozrejme znizis mozny kladny rozsah z povodnych max. 255 na max. 127. Ale vytvoris tym mozny zaporny rozsah az po -128(alebo -127 pre primy nezmysel). Ak potrebujes rozsah vacsi musis pouzit bajtov viac (word, dword, qword, atd)

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