C++ Zeichenketten in anderes Zahlensystem

sve07bl

Mitglied
Hallo,


ich muss eine Zeichenkette die vom Benutzer eingegeben wurde, in ein anderes Zahlensystem "konvertieren".
Leider habe ich überhaupt keine Vorstellung wie das klappen soll.

Ich habe solch eine Sache mal in VB.NET gemacht, dort läuft es einwandfrei,aber es ist mir nicht möglich den Code auf C++ zu übertragen :-(

Hoffentlich kann mir jemand helfen.

Danke schonmal.


gruß Björn
 
Hier ist noch der Quellcode von meinem bisherigen Versuch (in diesem Beispiel will ich die Zahl ins 8-er System umwandeln.
Code:
  void main()
  {
  
  	cout<< "Bitte Zahl eingeben: ";
  	cin>> array;
  
  	rest = int(array);
  
  	for (i=9; i=0; i--)
  		{
  			berechnung = rest/ (8^i);
  			rest = rest % 8 ^ i;
  			int(ausgabe) = int(ausgabe) + berechnung;
  
  		
  		}
  
  		cout<<ausgabe;
  	getch();
  }
 
moin


Den Code hier habe ich mal gerschrieben um von Dezimal in Hexadeizimal umzuwandeln. Du kannst damit nach einer kleinen änderung aber auch in jedes andere System umwandeln.

Code:
int main()
{
	int zahl=0;
	int reste[10];
	int zaehler=0;
	int neu=0;

	cout<< "Hex 2 Dez Umrechnern";
	cout<< "Dez: ";
	cin>> zahl;

	neu = zahl;

	do
	{
		reste[zaehler++] = neu % 16;
		neu /= 16;
	}
	while(neu != 0);

	cout<<"Hex: ";

	for(int l=zaehler-1; l>-1; l--)
	{
		switch(reste[l])
		{
		case 10: cout<<"A"; break;
		case 11: cout<<"B"; break;
		case 12: cout<<"C"; break;
		case 13: cout<<"D"; break;
		case 14: cout<<"E"; break;
		case 15: cout<<"F"; break;

		default: cout<< reste[l];
		}
	}

	return 0;
}


mfg
umbrasaxum
 
Vielen Dank, jetzt sind auch meine anderen Frage bzgl. des Hexadezimalsystem geklärt :-)

Werde den Code dann mal ausprobieren ;-)

Danke :-)
 
Noch eben eine Anmerkung:

Dein Hauptfehler war, dass du ^ verwendet hast. Der dürfte in VB dem Hochnehmen entsprechen, in C/C++ ist das ein Binäroperator. ^ ver-XOR-t zwei Werte binär.
 
Zurück