Hirdetés

Új hozzászólás Aktív témák

  • sztanozs
    veterán

    Akkor kezdjük az elejétől.

    "bekérek egy legfeljebb 4 jegyű számot"
    A legnagyobb 4 jegyű szám 9999, ami binárisan 10011100001111 (14 karakter ha jól számolom). Tehát lefoglalsz egy 14 elemű karaktertömböt, ebbe rakod a végeredményt.

    Az eljárás: (úgy mint papíron)
    bekéred a számod (legyen x)

    x-et elosztod kettővel. A maradékot (0 vagy 1-et beleírod a karaktertömbbe)
    A hányadost megint elosztod kettővel és a maradékot megint beleírod a karaktertömbbe.
    .
    .
    .
    Egészen addig csinálod míg a hányados nulla nem lesz. Végül a karaktertömböt fordítva írod ki.

    Tehát példával illusztrálva:
    x = 5
    5 / 2 == 2 (maradék 1)
    2 / 2 == 1 (maradék 0)
    1 / 2 == 0 (maradék 1)

    101

    Asszem valahogy így...

    char[81] bin = "";
    int counter = 1;
    while (szam > 0 ) {
    if (counter % 5 == 0) {
    bin[80 - counter] = '|';
    counter++;
    }
    bin[80 - counter] = '0' + (szam % 2);
    szam = szam / 2;
    counter++;
    }
    printf( bin[81 - counter] );

Új hozzászólás Aktív témák