Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Hex -> Dez???

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
27.08.2003, 14:13 Uhr
~Hilfe
Gast


Wollte mal fragen wie man eine Hexdezimalzahl in eine Dezimalzahl umwandelt. Andersrum ist das ja ganz einfach.

C++:
cout << "Geben Sie eine Zahl ein:\n";
cout << "Eingabe :> ";
cin >> Zahl ;
cout << dec << Zahl << " ist gleich " << hex << Zahl << endl;;




Aber ich krieg es nicht hin, das er Hex einliest und umwandelt.

Danke schonmal im Voraus.


Bearbeitung von loddab:
cpp-Tags gesetzt


Bearbeitung von 0xdeadbeef:
smileys aus, wegen :\n

Dieser Post wurde am 27.08.2003 um 14:18 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
27.08.2003, 14:24 Uhr
0xdeadbeef
Gott
(Operator)



C++:
cin >> hex >> Zahl;


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
27.08.2003, 14:27 Uhr
~Hilfe
Gast


Das funktioniert aber nicht, wenn ich z.B. 1F eingebe.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
27.08.2003, 14:32 Uhr
0xdeadbeef
Gott
(Operator)


Bei mir funzt es. Zeig mal den Code her. Welchen Compiler benutzt du?
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
27.08.2003, 14:36 Uhr
~Hilfe
Gast



C++:
void main()
{

    char Wahl, Wahl2;
    
    cout << "Wollen Sie von:\n";
    cout << "1) Hex > Dez oder\n";
    cout << "2) Dez > Hex umrechnen?\n";
    cout << "Eingabe :> \n";
    cin >> Wahl2;

    if (Wahl2==1)
    {

        do
        {
        cout << "Geben Sie eine Zahl ein:\n";
            cout << "Eingabe :> ";
            cin >> hex >> Zahl;
            cout << /*hex << Zahl << " sind gleich " << dec <<*/ Zahl << endl;;
    
            //Wiederholung
            cout << "Noch eine Zahl j/n?\n";
            cout << "Eingabe :> \n";
            
        }
    
        cin >> Wahl;
        }
                 while (Wahl=='j');
    }
    else
    {  
        int Zahl;
        do
        {
            cout << "Geben Sie eine Zahl ein:\n";
            cout << "Eingabe :> ";
            cin >> Zahl ;
            cout << dec << Zahl  << " ist gleich " << hex << Zahl << endl;;
    
            //Wiederholung
            cout << "Noch eine Zahl j/n?\n";
            cout << "Eingabe :> \n";
            cin >> Wahl;
            Zahl = 0;
        }
        while (Wahl=='j');
    }
}



--edit: Pablo. smileys aus --

Dieser Post wurde am 27.08.2003 um 15:14 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
27.08.2003, 14:44 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


kannst es auch selber umwandeln

z.b. so


C++:
int hex2dez(char* hex){
int c,rv=0;
for(int i=0;i<(int) strlen(hex);i++) isalpha(c=hex[strlen(hex)-1-i])?rv+=pow(16,i)*(c-55):rv+=pow(16,i)*(c-48);
return rv;
}



vorsicht ungetestet direkt gepostet
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
27.08.2003, 14:48 Uhr
0xdeadbeef
Gott
(Operator)


Ich musste ein paar generelle Bugs entfernen, aber dann liefs bei mir:

C++:
//Header includen. Wahrscheinlich war das hier dein Problem.
#include <iostream>
#include <iomanip>

using namespace std;

int main() //main ist immer int.
{
  char Wahl, Wahl2
  int Zahl; //Zahl war nur in einem Block definiert, wird aber in beiden gebraucht

  cout << "Wollen Sie von:" << endl;
  cout << "1) Hex > Dez oder" << endl;
  cout << "2) Dez > Hex umrechnen?" << endl;
  cout << "Eingabe :> ";
  cin >> Wahl2;

  if (Wahl2 == '1') //Wahl2 ist ein char, kein int
    {
      do
        {
          cout << "Geben Sie eine Zahl ein:" << endl;
          cout << "Eingabe :> ";
          cin >> hex >> Zahl;
          cout << Zahl << endl;

          //Wiederholung
          cout << "Noch eine Zahl j/n?" << endl;
          cout << "Eingabe :> " << endl;

          //hier war eine geschweifte Klammer zuviel

          cin >> Wahl;
        }
      while (Wahl=='j');
    }
  else
    {
      do
        {
          cout << "Geben Sie eine Zahl ein" << endl;
          cout << "Eingabe :> ";
          cin >> Zahl ;
          cout << dec << Zahl  << " ist gleich " << hex << Zahl << endl;

          //Wiederholung
          cout << "Noch eine Zahl j/n?" << endl;
          cout << "Eingabe :> ";
          cin >> Wahl;
          Zahl = 0;
        }
      while (Wahl=='j');
    }
}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: