Škôlka jazyka C

Fórum o programovaní v jazyku C založené 3. januára 2012

Aktuálny čas je 18 Jan 2021, 04:56

Všetky časy sú v GMT + 1 hodina


Vyhľadávanie našlo 1 výsledok

Autor Správa

 Skočiť do kategórie   Skočiť do témy

 Predmet príspevku: @ 16DodgE16
Napísal: 24 Mar 2013, 09:58 

Pokúsim sa ti vysvetliť tú 15. úlohu z 5. lekcie.

Hexadecimálne čísla sa skladajú z čísiel 0 - 9 a znakov a - f alebo A - F.
Čísla 0 - 9 majú svoju hodnotu, teda 0 - 9.
Znaky a - f (A -F) majú nasledujúce hodnoty:
a - 10
b - 11
c - 12
d - 13
e - 14
f - 15
To isté je pravda, aj keď sú to veľké písmená.

Prvá časť úlohy je zadať z klávesnice 2 znaky v rozsahu '0' - '9' alebo 'A' - 'F'. To ti určite problém nerobí.
Zoberme to tak, že bolo zadané F 9. Teda F9 je hexadecimálne číslo, ktoré má nejakú decimálnu hodnotu a tú teraz vypočítame:

samotné F má hodnotu 15
9 má hodnotu 9

Keď sa pozrieš na tento príspevok , mal by si pochopiť princíp výpočtu.

Čiže výpočet je nasledovný:

F(15) * 16 (na prvú) + 9(9) * 16 (na nultú)

teda

(15 * 16) + (9 * 1) = 240 + 9 = 249

Hodnota F9(hexadecimálne) je 249(decimálne).

Ešte jedna pomôcka a keď budeš trošku premýšľať, program napíšeš.
Podľa ASCII tabuľky (2. lekcia) má každý znak decimálnu hodnotu a my si ju vieme vypísať, poprípade dosadiť do vzorca.

Príklad:
'F' má hodnotu 70, ale my potrebujeme aby bola hodnota 15.
Teda
'F' - 55 = 15
'9' má hodnotu 57, ale my potrebujeme aby bola hodnota 9.
Teda
'9' - 48 = 9
Keď sa pozornejšie pozrieš do ASCII tabuľky, zistíš, že znaky '0' - '9' ('a' - 'f', 'A' - 'F') idú za sebou a ich decimálna hodnota stúpa po jednotkách.
Teda aby si dostal správne výstupy zo zadaných znakov treba od:
'0' - '9' odpočítať 48
'a - 'f' odpočítať 87
'A' - 'F' odpočítať 55
a dostaneš potrebné výstupy a môžeš ich dosať do vzorca. ;)
Stránka 1 z 1 [ Vyhľadávanie našlo 1 výsledok ]


Všetky časy sú v GMT + 1 hodina


Skočiť na:  
cron
Powered by phpBB® Forum Software © phpBB Group

Hosted by FreeSpace SK