|
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. ;) |
|