Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » dez nach hex?

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
20.05.2007, 18:30 Uhr
mischa
Fragender


hallo
Gibt es vielleicht eine vertige Funktion oder ein algoritmus mit dem man hes zahlen in dez zahlen umwandeln kann und umgekehrt
--
Latein Unterricht ist die spätere Rache der Römer an den Germanen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.05.2007, 18:50 Uhr
öni



Ist nicht mein eingenes geistiches Eigentum. Hoffe es funktioniert. Allerdings ist der Quellcode von einer GUI-Anwendung du müsstes es eben für deine Zwecke umschreiben. Ansonsten ist die Rechnung eben von Dez nach Beliebig und von Beliebig nach Dez.
Hoffe es hilft dir weiter. Umsolänger ich mir den Code anschaue denke ich das du ihn am besten selber schreibst weil der ein wenig konfus ist.


C++:
      short zSys;
      zSys = cbxZahlensystem->ItemIndex +2;   //Zahlensystem

if (rgAuswahl->ItemIndex == 0)   //von dez nach beliebig
{
      AnsiString dezErgStr = "";
      char zeichensatz[] = "0123456789ABCDEF";
      char cZiffer[20] = "";
      short zSys;
      zSys = cbxZahlensystem->ItemIndex +2;  //Zahlensystem
      int i=0,j=0,k=0, zahl = 0;
      short rest = 0;
      zahl = StrToInt(edtEDez->Text);
      while (zahl > 0)
      {
          rest = zahl % zSys;
          cZiffer[i] = zeichensatz[rest];
          zahl = zahl / zSys;
          i++;
       }
       for (k=i-1; k >=0; k--)
            dezErgStr = dezErgStr + cZiffer[k];
       edtABin->Text  = dezErgStr;
}
if (rgAuswahl->ItemIndex == 1) //von beliebig nach dez
   {
        AnsiString asZahl = "";
        AnsiString asZiffer = "";
        AnsiString zeichensatz = "0123456789ABCDEF";

        int anzStellen;
        int dezZahl = 0;
        int ziffer = 0 ;
        asZahl = edtABin->Text ;
        anzStellen = asZahl.Length();
        for (int i = 0; i < anzStellen; i++)
        {
            asZiffer = asZahl.SubString((i+1),1);
            ziffer = zeichensatz.Pos(asZiffer)-1;
            dezZahl = ziffer * pow(zSys,(anzStellen - i-1)) + dezZahl;

        }
        edtEDez->Text = IntToStr(dezZahl);
   }

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
20.05.2007, 19:12 Uhr
Tommix



Hallo,
da gibt es nichts umzuwandeln. Das ist nur eine Frage der Darstellung, dem Computer ist das alles egal:

C++:
int i = 12345;
printf ("Hex: %X\n", i);
printf("Dez: %d\n", i);



Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.05.2007, 21:18 Uhr
0xdeadbeef
Gott
(Operator)



C++:
#include <iomanip>
#include <sstream>
#include <string>

// ...

std::string dezimal = "123";
std::string hex;
std::ostringstream osstr;

osstr << std::hex << dezimal;
hex = oostr.str();


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
21.05.2007, 14:10 Uhr
mischa
Fragender


danke
--
Latein Unterricht ist die spätere Rache der Römer an den Germanen.
 
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: