Funktion htoi umstellen
-
DirkB schrieb:
Joe1903 schrieb:
oder (n=c[s]*16^n?)
...
Der Operator ^ ist in C nicht die Potenz.Da bin ich gar nicht drauf gekommen, daß das eine Potenz sein sollte.
Ich hab mir nur gedacht: "Huch, das ist aber eine gewagte Konstruktion, deren Sinn sich mir nicht wirklich erschließt."
-
Mir fällt noch ein: anstelle von "pow" kann man die Sechzehnerpotenzen auch in einem Array ablegen. 4 Stück sollten wohl erstmal reichen: 1, 16, 256, 4096.
-
Andromeda schrieb:
Mir fällt noch ein: anstelle von "pow" kann man die Sechzehnerpotenzen auch in einem Array ablegen. 4 Stück sollten wohl erstmal reichen: 1, 16, 256, 4096.
16 hoch x = 1 << 4*x
Nicht weiter erzählen, ist ein Mathematikergeheimnis.
-
Für sowas benutzt man sscanf.
-
Andromeda schrieb:
Mir fällt noch ein: anstelle von "pow" kann man die Sechzehnerpotenzen auch in einem Array ablegen. 4 Stück sollten wohl erstmal reichen: 1, 16, 256, 4096.
Potenzen sind doch gar nicht nötig
int my_atoi(char s[]) // Wandelt Dezimalstring in int um. Ohne Vorzeichen { int ret = 0; while (isdigit(*s)) { i *= 10; // Basis 10 i += *s++; } return ret; }
-
Wutz schrieb:
Für sowas benutzt man sscanf.
Lass die Leute doch mal die Grundlagen lernen.
-
Aber nicht anhand von Deppen-Aufgaben, die die Standardbibliothek erledigen kann.
-
Wutz schrieb:
Aber nicht anhand von Deppen-Aufgaben, die die Standardbibliothek erledigen kann.
Vielleicht braucht er das eine kleine MCU mit wenig Flash und RAM. Da sind Schwergewichte wie sscanf eher nicht so toll.
-
DirkB schrieb:
Andromeda schrieb:
Mir fällt noch ein: anstelle von "pow" kann man die Sechzehnerpotenzen auch in einem Array ablegen. 4 Stück sollten wohl erstmal reichen: 1, 16, 256, 4096.
Potenzen sind doch gar nicht nötig
int my_atoi(char s[]) // Wandelt Dezimalstring in int um. Ohne Vorzeichen { int ret = 0; while (isdigit(*s)) { i *= 10; // Basis 10 i += *s++; } return ret; }
Stimmt. Aber sein erster Code ist immer noch der beste (wenn er denn funktioniert).
-
@Joe1903: Es macht überhaupt keinen Sinn hier ständig Fragen zur Erweiterung/Umstellung von Code zu stellen, den Du irgendwo im Internet gefunden hast, wo er als Lösung zu K&R Aufgaben eingestellt wurde.
Das verwirrt nur, weil niemand einschätzen kann, auf welchem Stand Du bist.
Abgesehen davon ist die Lösung bestenfalls Mittelmaß.