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;
}Pane numerot taulukkoon ja "pura" lopuksi taulukko käänteisessä järjestyksessä.
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;
}Aihe on jo aika vanha, joten et voi enää vastata siihen.