Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Kymmenluvun muunnos binääriluvuksi

tuomas11 [19.12.2006 18:38:44]

#

Hei, Tekaisimpa varsin yksinkertaisen ohjelman. Se siis muuttaa kymmenluvun binääriluvuksi. Ongelmana on vain se, että miten saada ohjelma ilmoittamaan oikea binääriluku "oikein päin"? Nyt se luku tulostuu väärinpäin, eli luku luetaan alhaalta ylös.

#include <iostream.h>
#include <cstdio>


int main()
{
    int num;

            cin >> num;
            cout << "\n";

    for (num; num > 0; num = num / 2) {


         cout << num % 2 << endl;


        }



 system("PAUSE");

 return 0;

}

Antti Laaksonen [19.12.2006 18:55:11]

#

Pane numerot taulukkoon ja "pura" lopuksi taulukko käänteisessä järjestyksessä.

Metabolix [19.12.2006 19:24:05]

#

Vaikkapa näin:

// Se nyt on C:tä...
char *tee_bin(unsigned int luku, char *teksti)
{
    unsigned int i, bitti;
    for (bitti = 1; bitti <= (luku >> 1); bitti <<= 1); // Ylin bitti
    for (i = 0; bitti != 0; ++i, bitti >>= 1) { // Bitti aina pienemmäksi
        teksti[i] = ((luku & bitti) ? '1' : '0');
    }
    teksti[i] = 0;
    return teksti;
}

// Esim...
#include <iostream>
int main(void)
{
    char puskuri[33]; // Muistahan antaa sille riittävän iso puskuri...
    std::cout << tee_bin(198623, puskuri) << std::endl;
    return 0;
}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta