www.mikrocontroller.net

Forum: PC-Programmierung Dezimal in Hex wandeln in c++


Autor: Rene Schir (gigastulle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ich verwende den Borland Builder 6 C++

Ich versuche nun schon seit Stunden ein einfaches Program zu schreiben 
um eine
Dezimalzahl in eine Hexadezimalzahl umzurechnen und auszugeben !!!!!!!
Unter dos is did ja mit PrintF("%x", &Dezimal) Ja kein ding aber ich 
häts ja gerne unter windows und dort kennt er den Befehl "PrintF" NICHT 
:-(

Danke Schon mal!!!!!!!

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was genau meinst du mit "eine Dezimalzahl in eine Hexadezimalzahl 
umzurechnen"? Im Computer sind's erstmal einfach nur Zahlen. Dezimal und 
Hexadezimal sind verschiedene Repräsentationen in Form von Zeichenketten 
(strings).

> Unter dos is did ja mit PrintF("%x", &Dezimal) Ja kein ding aber ich
> häts ja gerne unter windows und dort kennt er den Befehl "PrintF" NICHT

Es gibt auch kein PrintF. Die Funktion heißt printf. C++ unterscheidet 
zwischen Groß- und Kleinschreibung. Das hat aber eigentlich mit DOS oder 
Windows nichts zu tun.

Übrigens: In C++ benutzt man statt printf std::cout.

Autor: Rene Schir (gigastulle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie gesagt did program is zum übern... Es giebt 2Fenster in diesem 
Programm
In den einem Fenster giebst du eine Zahl ein...dann auf OK Klicken und 
dann soll die von dir eingegebene Dezimalzahl in dem 2. Lable als 
Hexzahl erscheinen.

std::count("%x",dezimal); //Wäre das dann so richtig????

Dannke schon mal (Ham ja alle mal klein angefangen gg)

Autor: Andreas B. (andreasb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1 cout (C Out, output) nicht count (Englisch zählen) und warum nimmst du 
dann nicht sprintf?
char buffer[512];
sprintf(buffer, "%x", dezimal);

dann hast du im String buffer den Hexwert. Ist zwar eigentlich C aber 
funktioniert so auch in C++.

ps. cout würde man so anwenden: std::cout << "test";


mfg Andreas

Autor: Martin #### (martin-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Dezimalzahl in eine Hexadezimalzahl umzurechnen und auszugeben
Also noch mal du wills also praktisch eine Zahl Hexdecinaml ausgeben, 
umrechnen ist ja an dieser etwas sinnlos, und das ganze in C++:

#include <iostream>

int main()
{
    int i;

    std::cin >>  i;
    //hex-Ausgabe
    std::cout << std::hex << i << std::endl;
    //dec-Ausgabe
    std::cout << std::dec << i << std::endl;
    return 0;
}


Wenn du die zahl irgendwo in einem buffer als string haben willst kannst 
du stringstream benutzen:

#include <iostream>
#include <sstream>

int main()
{
    int i;

    std::stringstream sstr(std::ios::in | std::ios::out);
    std::cin >>  i;
    sstr << std::hex << i;
    std::cout << sstr.str() << std::endl;

    return 0;
}

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.