Zuerst benötigen wir 4 Variablen (einen Array).
Danach muss eine Ganzzahl eingegeben werden.
Code:
int iDezimal = 0; int iRest; int i_a_ToHex [100]; int i = 0; cout << "Enter a Number: "; cin >> iDezimal;
Zur Erinnerung: Hexerdezimal (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) besteht aus 16 Zeichen deshalb durch 16.
Außerdem wird der Rest berechnet der übrig bleibt. Dieser wird in dem Array abgespeichert.
Die Schleife läuft solange wie die Dezimal nicht 0 ist.
Code:
do
{
iRest = 0;
iRest = iDezimal%16;
i_a_ToHex[i] = iRest;
iDezimal = iDezimal / 16;
i++;
}while (iDezimal != 0);
In dieser werden alle Werte die in dem Array abgepeichet wurden aufgerufen.
Wenn ein Wert zwischen 10 und 15 liegt wird A,B,C,D,E oder F ausgegeben.
Sonst wird der Wert augegeben.
Und schon haben wir die Dezimalzahl zu einer Hexerdezimalzahl gemacht.
Code:
for (int j = i-1; j != -1; j--)
{
if (i_a_ToHex[j] == 10)
cout << "A";
else if (i_a_ToHex[j] == 11)
cout << "B";
else if (i_a_ToHex[j] == 12)
cout << "C";
else if (i_a_ToHex[j] == 13)
cout << "D";
else if (i_a_ToHex[j] == 14)
cout << "E";
else if (i_a_ToHex[j] == 15)
cout << "F";
else
cout << i_a_ToHex[j];
}
Credits: NikM






