long in char* konvertieren



  • Wie kann ich einen long möglichst Platzsparend in einen char* uns zurück konvertieren.
    Ich meine insofern platzsparend, dass ich nicht einfach sprintf() verwende und sagen wir mal "1234" schreibe, sondern ich will alle 254 verschiedenen char-Codes nutzen...



  • ? erklär mal genauer was du willst ?

    Die 'Länge' einer Zahl (sofern sie keine Kommastellen hat) kann man recht einfach ermitteln:

    int intlen(int i)
    {
      int res=0;
      while(i)
      {
        i/=10;
        ++res;
      }
      return res;
    }
    


  • Shade Of Mine schrieb:

    ? erklär mal genauer was du willst ?

    Die 'Länge' einer Zahl (sofern sie keine Kommastellen hat) kann man recht einfach ermitteln:

    int intlen(int i)
    {
      int res=0;
      while(i)
      {
        i/=10;
        ++res;
      }
      return res;
    }
    

    Oder einfach

    int intlen(int i)
    {
      return (int)log(i)+1;
    }
    


  • MisterZ schrieb:

    Oder einfach

    int intlen(int i)
    {
      return (int)log(i)+1;
    }
    

    Das ist eine eigentümliche Definition von "Länge". Wenn man als Basis nicht e sondern 10 nimmt, dann könnte es noch richtiger werden.


Anmelden zum Antworten