Odpověděl/a – 5.říjen 5:02
V klasické desítkové soustavě je přímé počítání v desítkové
soustavě problém, protože máme problém v jednom „bitu“ (řekněme na
jednom drátu) rozlišovat deset různých diskrétních stavů. Přesto
současné procesory počítání v desítkové soustavě umí na úrovni
nibblů (půlbajt – 4bity). Pro tyto výpočty mají procesory příznak pro
přetečení mezi bitem 3 a 4 (auxiliary flag u '86) a instrukce pro korekci
matematických operací v BCD kódu. Zatímco binárně se do jednoho bajtu
vejde 256 diskrétních hodnot, v BCD kódu se jich tam vejde jen 100
(0–99).
Netvrdím, že toto umí všechny existující procesory, ale určitě klasické
z rodiny '86 (přinejmenším od jejich předchůdce, procesoru 8080) a znali
to i další osmibity (třeba z rodiny 65×x – Commodore, Atari…,
nejspíš i Z80 ze ZX spectra a klonů ale k těm jsem jen přičichl tak to
nevím jistě)
Odpověděl/a – 5.říjen 5:03
V klasické technice je přímé počítání v desítkové soustavě
problém, protože máme problém v jednom „bitu“ (řekněme na jednom
drátu) rozlišovat deset různých diskrétních stavů. Přesto současné
procesory počítání v desítkové soustavě umí na úrovni nibblů
(půlbajt – 4bity). Pro tyto výpočty mají procesory příznak pro
přetečení mezi bitem 3 a 4 (auxiliary flag u '86) a instrukce pro korekci
matematických operací v BCD kódu. Zatímco binárně se do jednoho bajtu
vejde 256 diskrétních hodnot, v BCD kódu se jich tam vejde jen 100
(0–99).
Netvrdím, že toto umí všechny existující procesory, ale určitě klasické
z rodiny '86 (přinejmenším od jejich předchůdce, procesoru 8080) a znali
to i další osmibity (třeba z rodiny 65×x – Commodore, Atari…,
nejspíš i Z80 ze ZX spectra a klonů ale k těm jsem jen přičichl tak to
nevím jistě)