int to hex



  • hallo

    gibt es in c/c++ eine funktion ähnlich itoa() bei der ich aber
    einen int wert in hex wandeln kann?

    besten dank
    tobias



  • std::cout << std::hex << x << " = " << std::dec << x;
    

    Wenn du einen std::string willst:

    #include <sstream>
    using namespace std;
    
    string intToHex(int x)
    {
        ostringstream s;
        s << std::hex << x;
        return s.str();
    }
    


  • hallo \aleph_0

    ich habe leider in meinem borland die include datei sstream nicht
    zur verfügung. gibt es noch eine andere möglichkeit?

    tobias



  • Rekursion oder Iteration die eine integer Zahl in eine Hex-zahl umwandelt. Hatte mal irgendwo eine für mehrere zahlensysteme, also mit der basis von 2-32.

    EDIT: Gefunden, allerdings habe ich das nur in Turbo Pascal, musst du also selbst umschreiben:

    function zazi(r:longint):char;
    begin
      if r<10 then zazi:=chr(r+ord('0'))
      else zazi:=chr(r-10+ord('A'))
    end;
    
    function dez2zsys(x,y:longint):string;
    begin
      if x=0 then dez2zsys:='0'
      else if x>0 then dez2zsys:=dez2zsys(x div y,y) + zazi(x mod y)
    end;
    

    dez2zsys wird zur umrechnung aufgerufen und bedient sich an zazi (abk. f. zahlziffer, aber das kannste ja umbenennen). Da ich früher nie Dokumentiert habe so im ersten und zweiten semester ist dies bei dem Programm ebenfalls der Fall. Wenn r (rest) in der Funktion kleiner als 10 ist wird eine zahl in den string gefügt, ansonsten ein buchstabe.

    Code-Hacker


Anmelden zum Antworten