

Výpočet přímého kódu na osm bitů
Dobrý den,
mám tady takový počítačový příklad, snad mě za to nenakopete do zadku.
V přímém kódu zobrazte (na osm bitů) čísla:
a) 55 b) -55
Jak na výpočet?
a) číslo 55 si převedu do binární soustavy tj.- 110111, na osm bitů ho zapíšu tak 0011 0111 (dopíšu nuly aby bylo 8 čísel).
Podle výpočtů a příkladu to tak je.
b) co potom -55?
Nevím jak na výpočet, dle našeho přednášejícího to je 1011 0111, ale podle windows kalkulačky to je 1100 1001 (kalkulačka v režimu byte)
V čem je tedy problém v přikladě b? Mohl by mi někdo zkontrolovat výpočet? Díky
b) Záleží, který bit určuje znaménko.
To v zadání není specifikovaný, ja tedy na výpočet?
Ale na OBRÁZKU je podtržené první číslo, tak asi určuje znaménko. Mrkni
Mmmm. Většinou se záporné číslo zapisuje pomocí doplňkového kódu:
http://cs.wikipedia.org/wiki/Dvojkov%C3%A1_soustav a
Mrknu na to, ale pořád nechápu, proč má přednášející jiný výsledek než kalkulačka O_o
To ti vysvětlil už Wikan
Zápis v přímém kódu je pro kladná a záporná čísla stejný, liší se jenom v nejvyšším bitu. Kalkulačka ti ukazuje doplňkový kód, který je v praxi mnohem používanější.
Aha, díky
Neexistuje někde nějaký kalkulátor, který by mi to počítal tím méně používanějším způsobem? Neznáte něco?
)
To fakt nezvládneš změnit nejvyšší bit z 0 na 1?
Tak zvládnu, jenom ho prostě vyměním, ale kalkulátor by se stejně hodil.
Na co?
Na tom není co vymýšlet.
prostě počítáš jako kladné číslo, jen bit úplně vlevo = -1, když to má být záporné.
Počítat ale můžeš jen v rozsahu -127 až 127 nebo 0-256 pro 8 bitů ve dvojkové soustavě.
Až takhle jednoduché to je..
Díky, je vyřešeno
He? Z mého vysvětlení jsi to nepochopil?
Ale pochopil, jen jsem usoudil že kalkulačka není třeba.
A pokud by jste na mě měl ještě čas pane Wikan, potřeboval bych ještě poradit s jedním příkladem, nebudu zakládat nové téma.
Úkolem je tentokrát doplňkový kód.
(1023)10 = (0000 0011 1111 1111)2 = (03FF)16
číslo za závorkou značí soustavu.
Nechápu, jakým způsobem převedl z dvojkové do šestnáckové..? Můžete mi to prosím objasnit. Děkuji
Prostě přiřadíš jednotlivým bitům váhy 8-4-2-1. Tohle snad spočítáš zpaměti.
Jakože
(0000 0088 2222 1111)2 = (03FF)16
A to pak sečtu? To asi těžko? Nechápu..
Oprava
(0000 0044 2222 1111)
co to motáš? Každý nibble převeď do hexu zvlášť
0000 0
0001 1
0010 2
0011 3
0100 4
atd
1111 F
Už to vidím, díky