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


von Rene S. (gigastulle)


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!!!!!!!

von Rolf Magnus (Gast)


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.

von Rene S. (gigastulle)


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)

von Andreas B. (andreasb)


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

von Martin #. (martin-)


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;
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.