Turbo Pascal
  • ba32107
    #245
    Ez most copy-paste lesz:

    "Az összes ilyen számrendszer átváltás logikája:

    A bemenő "számot" karaktersorozatnak veszed.

    Felveszed a számrendszer alapszámát (pl. nálad 9) (Pl. most "Alap"-ként jelölöm)
    Felveszed az 1-et. (pl. most "aktuális"-ként jelölöm)
    Felveszed a 0-t ("eredmény")


    Veszed a legkisebb helyiértéken lévő számot (legjobboldalibb számjegyet) ("szám")

    Cikluskezdet:
    A "Szám"-ot valódi számmá alakítod. (A 48-as kód, az ugyebár 0, de pl. egy 16-os számrendszernél a 65-ös kód ugyebár "A", tehát 10-es.)
    A kapott számot megszorzod az "Aktuális" értékéve, az eredményt hozzáadod az "eredmény"-hez
    Az "aktuális"-t szorzod az "alap"-al.
    Veszed a jobbról következő karakteres "számjegyet" -> Ez lesz az új "Szám"
    Visszamész a "cikluskezdet"-hez
    Ezt ismételgeted, amíg az összes számjegyen végig nem mentél.


    Ezzel a bekért számod számolható formában van.


    Most jön a másik számrendszerre váltás

    Van a számod ("eredmény")
    Felveszed a számrendszer alapszámát ("alap") ez most nálad a 15.


    Cikluskezdet:
    A számot ("eredmény") elosztod az "alap"-al. A maradékot átalakítod (0 érték -> 48-as kód, 10->A), és megjegyzed (tárolod) (jobbról ez lesz az 1., majd a következő a 2. ... jegy).
    Az osztás eredménye lesz az "eredmény"
    Ha az eredmény nem nulla, akkor vossza a ciklus cikluskezdethoz."

    Ha nem megy, segítek.