Lowlevel

OffZone => Offtopic => Thema gestartet von: Another Stupid Coder am 14. August 2004, 23:00

Titel: Ziffern zu Zahl zusammen setzen?
Beitrag von: Another Stupid Coder am 14. August 2004, 23:00
Hallo,
Ich wollte mal fragen ob einer von euch ne Ahnung hat wie ich zwei (oder mehr aber das sollte ja das gleiche sein) zu einer Zahl zussamen tun kann (nein, ich meine nicht addieren).
Also ich meine das aus 1 und 2 12 wird. Wenn man 4 und 5 nimmt 45 und so weiter.
Hat jemand nen Tipp? (Möglichst in C/C++ von mir aus auch mit Std-Libs wäre aber besser ohne.)
Titel: Ziffern zu Zahl zusammen setzen?
Beitrag von: gurru am 14. August 2004, 23:08
hi,
ich hoffe ich habe deine frage richtig verstanden

 char* zahl = "123";
  int ergebnis = 0;
  char* p2z = &zahl[0];

  while (*p2z)
  {
    int add = *p2z - '0';  /// Berechne den WErt der Ziffer
    ergebnis*= 10;         // Eine weitere Stelle hintendran
    ++p2z;  
    ergebnis += add;  
  }

ich hoffe, das funktioniert, habs grade gehackt

mfg gurru
Titel: Ziffern zu Zahl zusammen setzen?
Beitrag von: Another Stupid Coder am 15. August 2004, 23:27
Ich denke schon aber ich teste es gerade, es geht darum einen String in einen Int umzuwandeln. (Nachdem bereits getestet wurde das es sich um eine Zahl handelt in dem String)
Titel: Ziffern zu Zahl zusammen setzen?
Beitrag von: Another Stupid Coder am 15. August 2004, 23:30
Okay, es klappt herzlichen Dank, du hast mir wirklich sehr geholfen!
Titel: Ziffern zu Zahl zusammen setzen?
Beitrag von: JensFZ am 16. August 2004, 07:12
Hiho

Dafür könntest du aber auch den befehl atoi() nehmen.
genauere Infos gibt's hier http://www.mkssoftware.com/docs/man3/atoi.3.asp
Titel: Ziffern zu Zahl zusammen setzen?
Beitrag von: Another Stupid Coder am 16. August 2004, 09:33
Jo, aber da sehe doch nicht wie er funktioniert :)
Titel: Ziffern zu Zahl zusammen setzen?
Beitrag von: Roshl am 16. August 2004, 18:14
Also ganz allgemein kann man sagen Ziffer addieren, noch ne Ziffer? dann mal 10 nehmen, die nächste dazuaddieren und so weiter;) Wenn man sein eigen OS progglt hat man aber dummerweise kein atoi();^^ aber der Algorythmus da is eh so grausam einfach das kann man in 2 Minuten selbst machen^^
Titel: Ziffern zu Zahl zusammen setzen?
Beitrag von: Another Stupid Coder am 16. August 2004, 18:38
Jo, ist mir mitlerweile auch klar geworden aber irgendwie hatte ich so ein extremes Blackout (war auch schon ziemlich müde) das mir das mit dem mal 10 einfach nicht eingefallen ist...O_o
Titel: Ziffern zu Zahl zusammen setzen?
Beitrag von: Roshl am 16. August 2004, 19:30
Naja die itoa funzt genau andersrum, nur so nebenbei erwähnt, immer durch zehn und der rest jeweils ist eine ziffer das solange bis die zahl 0 ist dann kann man den string so sortiern das die ziffern in der richtigen reihenfolge und so sind, dann noch 48 fürs Ascii dazu und fertig^^