Binärzahl aus String in Variable speichern

Gast #1215271
Lesenswert?
• ▲
▼
Hallo,

ich möchte über eine Textbox eine Binärzahl in einen String einlesen und 
sie dann in einer Variable speichern. Es muss also eine Interpretation 
des Strings als Binärzahl erfolgen. Kann stringstream sowas leisten? 
Hex-Interpretation kann er ja mit "<< hex", für binär habe ich aber 
nichts gefunden.

Gruß
#1215308
Lesenswert?
• ▲
▼
Für Binär fällt mir jetzt auch nichts Vorgefertigtes ein.
Aber man kann natürlich eine Binärzahl genauso zusammenbauen, wie man 
eine Dezimalzahl aus den einzelnen Ziffern zusammenbaut

Wenn du die einzelnen Ziffern  1 6 3 8  hast, dann ist der Wert der 
entsprechenden Dezimalzahl

      1 * 1000   +
      6 *  100   +
      3 *   10   +
      8 *    1

macht 1000 + 600 + 30 + 8  oder eben 1638

ein bischen Umformen ergibt

     ( ( ( 1 * 10 ) + 6 ) * 10 + 3 ) * 10 + 8

oder in Pseudocode ausgedrückt

     Zahl = 0;
     while( Ziffer vorhanden )
       Zahl = 10 * Zahl + nächste Ziffer;

Dasselbe kann man in jedem beliebigen Zahlensystem machen. Die 10 wird 
dann in deinem Fall durch 2 ersetzt. Aus einem String die nächste Ziffer 
als Character zu extrahieren sollte auch kein Problem sein. Von diesem 
Character noch den Character '0' abziehen und schon hast du den 
numerischen Wert der Ziffer.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.