C++ Hexadezimalzahl ausgeben

Morgen,

folgenden Programmcode führe ich aus:

Code:
int zahl;
cin >> zahl;

while (zahl!=0) {
cout << (zahl%16) <<endl;
zahl = zahl / 16;
}

Es wird eine Dezimalzahl eingegeben und diese wird in eine Hexadezimalzahl umgerechnet...
Wird z.B nun die Dezimalzahl 15 eingegeben ergibt das die Hexadezimalzahl F.. Wie ist es nun möglich, dass er auch wirklich die "Zahl" F ausgibt und nicht die Wertigkeit 15 ?

Wir sind erst vor ein paar Wochen in die C++ Programmierung eingestiegen.. Gibt es irgendwelche Skripts die man empfehlen kann für Einsteiger ?

MfG
Seb
 
AW: C++ Hexadezimalzahl ausgeben

hier mal der gesamte Programmcode

gibt es eigentlich keinen Edit Button :oops:
 

Anhänge

  • zahlensysteme.zip
    659 Bytes · Aufrufe: 34

Thomas

Mitarbeiter
AW: C++ Hexadezimalzahl ausgeben

Hi,

nimm statt cout printf, dann kannst du den Ausgabestring formatieren.

%x, %X entspricht der Ausgabe als Hexadezimalzahl

also sowas in der Richtung
Code:
printf ("%x",zahl);
sollte das gewünschte Ergebniss bringen.

Thomas
 
AW: C++ Hexadezimalzahl ausgeben

Wenn du es nur ausgeben willst is es so ok, wenn du aber mit der Zahl weiterechnen willst oder verschlüsseln willst, musst du es wirklich umrechnen!
Hiermit zum Beispiel:

itoa int to alphnumeric
atoi alphnumeric to int
strtol strint to Long


#include <iostream>
#include <cmath>
#include <stdlib.h>

using namespace std;

int main(void)
{
int zahl = 255; //DEC-ZAHL
char dest[256] = {0};
int base = 16; //base = 2; base = 8, ...
_itoa( zahl, dest, base); //Umwandlung in Hex (base = 16)

cout << dest << endl; //HEX-Zahl => ff


int zahl2 = 0;

zahl2 = strtol(dest, NULL, base); //zurück von HEX in DEC (base == 16) ff => 255
cout << _itoa( zahl2, dest, 2); //in BIN (base = 2) 255 in 11111111



return 0;
}



Gruß
 
Zuletzt bearbeitet:

Jobs

Jobmail abonieren - keine Jobs mehr verpassen:

Ich möchte die wöchentliche Jobmail erhalten und akzeptiere die Datenschutzerklärung.
Du kannst die Jobmail jederzeit über den Link in der Mail abbestellen.

Wir verwenden Sendinblue als unsere Marketing-Plattform. Wenn Du das Formular ausfüllst und absendest, bestätigst Du, dass die von Dir angegebenen Informationen an Mailchimp zur Bearbeitung gemäß den Nutzungsbedingungen übertragen werden.

Top