Binär Zahl in Dezimal Zahl



  • Hallo ich habe folgendes Programm

    #include <iostream>
    using namespace std;
    
    int main(int argc, char* argv[])
    {
    
    char binaer_zahl[256];
    int i;
    int wert;
    
    cout<<"Binaerzahl eingeben: ";
    cin>>binaer_zahl;
    
            for ( wert = i = 0 ; binaer_zahl [i] ; i++)
            {
            wert = wert * 2 + binaer_zahl [i] - 48;
    
            }
    
    cout<<"Dezimalzahl: " << wert << "\n";
    
               //1111111111 = 1023
    
    return 0; 
    }
    

    Wenn ich z.b. eine 1111111111 eingebe dann kommt als Ergebniss eine 1023 raus
    Aber ich will das die Ausgabe so aussieht: 102.3 es soll also alle 3 Zahlen ein Punkt gesetzt werden.

    Hat wer eine Idee wie so etwas gehen könnte ?



  • Statt int, für wert, eine Zeichenkette verwenden. Und die Punkte beim umwandeln einfügen. Frage am Rande: Wieso willst du das denn machen?



  • Naja ist eine Übung ausser Schule.

    Ich werds nachher mal mit nem Array probieren ty.



  • Besser als ein char -Array wäre std::string für Zeichenketten, das ist flexibler und einfacher zu bedienen.


Anmelden zum Antworten