Hallo, ich hab nun schon ein paar Versuche gestartet, aber bin bisher zu keiner Lösung gekommen :( Hab bisher nur AVRs in Bascomp programmiert, aber dieser Basicinterpereter nicht das Gelbe vom Ei ist versuche ich mich zur Zeit in C. Leider habe ich bisher noch keine Möglichkeit gefunden, so easy wie in Bascom zu debuggen... Problem: int test = 326; test soll nun in 3 einzelne Int zerlegt werden: int x = 3; int y = 2; int z = 6; Wie mache ich das am besten ? Vielen Dank schon mal im Vorraus cya Deramon
So sollte es gehen: x=test/100; test-=(x*100); y=test/10; test-=(y*10); z=test; Grüße, Peter
Danke :) Einfach und genial... Ich war bisher total auf int -> Char umwandlung fixiert. Den Char dann mit einer funktion zerlegen(wie in Bascom mit Mid(string,start,len) oder c# string.substring(start,len) und zurück in int umwandlen. Hab so eine funktion in string.h nicht entdecken können, bzw. komme mit diesen funktionen nicht so ganz klar. Interessieren würde es mich aber schon. Gibt es so eine Funktion in C, falls ja wie würde das in diesem Fall funktionieren ? Der Bascom code ohne umwandlung von/nach int wäre dafür: test = "326" x = Mid(test,1,1); y = Mid(test,2,1); z = Mid(test,3,1); cya Deramon
Hi wenn es um die extraktion einzelner Zahlen aus einem String geht: test = "326" x = test[0]-0x30; y = test[1]-0x30; z = test[2]-0x30;
Hallo, also wenn das keine compiler- oder interpreterspezifische Eigenschaft ist geht das in C so: int test = 326; int x,y,z; x = test/100; y = (test%100)/10; //Divisionsrest der division durch 100 durch 10 z = test%10; //Divisionsrest der division durch 10 mfg florian was funktioniert ist schon alt
Hallo Karl Florian, Deine Variante hatte ich vor längerer Zeit auch mal im Einsatz. Soweit ich mich noch richtig erinnere, war der von WinAVR erzeugte Code größer als der von der Variante aus meiner ersten Antwort oben. Ich kann mich aber auch irren. Grüße, Peter
Hallo Peter, das glaube ich mal unbesehen, vielleicht sollte ich in Zukunft schon beim Problem über die Optimierung nachdenken. mfg florian warum heisst C eigentlich C? weil mir A und B nicht mehr gefallen hat.
> warum heisst C eigentlich C? weil mir A und B nicht mehr gefallen > hat. Naja, fast. :-) Es gab in der Tat eine Vorläufersprache namens B, so daß der Nachfolger eben C genannt worden ist. A gab's der Legende nach allerdings nicht. ;-) (Das B könnte auch ein Abkürzungsbuchstabe gewesen sein, kann ich mich gerade nicht erinnern.)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.