Problem mit Int-Char-Umwandlung
-
Hi,
Ich habe ein kleines Programm geschrieben was einen Integerwert in eine Binear-Zahl umwandeln soll. Das funktioniert auch schon fast nur das die Binear-Zahl (aus mangelnden wissen) nicht in einen String oder eienen Int-Wert sondern in ein Int-Array geschrieben wird, das zusätzlich auch noch falschrum ist.
Da man, wen man zwei Integer adiert (z.B.: inte[1]+inte[2]), die Summe erhält und nicht die beiden Zahlen aneinander gereit, so wie ich es bräuchte für den Binär-Wert , wollte ich das Int-Array in ein umgedrehtes Char-Array umwandeln doch mit der sprint-Funtion scheint das nicht zu gehen.#include <iostream> #include <cmath> #include <cstdio> #include <string> using namespace std; class binary { int zubinear(float dezi) { int ausl[255]; char str_ausl[255]; string aus; for(int counter=0;dezi >= 1;++counter) { if (counter > 0&&dezi>1&&dezi != (int)dezi) { dezi= ceil(dezi); --dezi; } //Gerade oder nicht? if (dezi/2 == (int)dezi/2) ausl[counter]=0; else ausl[counter]=1; dezi /= 2; cout <<ausl[counter]<< flush; } int coun = counter; for(int count=0;count <= counter;++count) { sprintf(reinterpret_cast<char*>(str_ausl[coun--]), "%c", ausl[count]); } return 0; } }; int main() { binary one; int zahl = 0; cin >> zahl ; one.zubinear(zahl); return 0; }Kan mir jemand einen Vorschlag machen wie diese Aufgabe zu lösen ist?
mfg Xclear
-
Jetzt übertreibs aber mal net.
unsigned value; cin >> value; string str; do { str.insert(str.begin(), value%2 + '0'); } while(value /= 2); cout << str;
-
lol, ich schreib hundert Zeielen und es funktioniert nicht und du schreibst 7 und es geht sofort, echt stumpf...
bin halt noch Anfänger