verdammt das hab ich davon das ich vergessen habe unsigned vorzuschreiben spontan weiss ich gar nicht wo ich den fehler suchen muss bzw. suchen schon aber noch nicht wie ich ihn behebe, das mit der zweierpotzen war mir sofort klar... aber ok im zweifel kann man ja auch die erbärmliche Lösung mit dem vorzeichencheck machen..
Ich weiss gar nicht ob das überhaupt auch ohne vorzeichencheck geht... muss ich mal drüber nachdenken... -- ...fleißig wie zwei WeißbroteDieser Post wurde am 02.11.2004 um 17:25 Uhr von Windalf editiert.
vielleicht fällt ja einem anderem ne idee ein wie man das auch mit negativen vorzeichen machen könnte... ich will mal motivieren was ich mir beim teilen überlegt hab... hans hatte ja geschrieben das man einfach die zahl so lange abzieht bis nicht mehr geht und dann die anzahl zurückgibt...
ich habe mir überlegt das man das schneller machen könnte wenn man so rechnet...
nehmen wir mal z.b. 103:17
so lange b mit 2 multiplizieren (shiften) bis es grösser ist als a und merken wie oft geschiftet wurde...
103>17? 103>2*17? 103>4*17? 103>8*17? so hier ist also schon zuviel...
dann einfach rückwärts passt 4*17 in a=103 wenn ja bit setzen und a=103-4*17...
passt 2*17 in a.... uws... -- ...fleißig wie zwei Weißbrote
-gelöscht- -- main($)??<-$<='?'>>2?main($-!!putchar( (("$;99M?GD??(??/x0d??/a:???;a"+'?'/4) ??($??)+'?'/3-2-1+$%2)??''?')):'?';??>Dieser Post wurde am 03.11.2004 um 09:15 Uhr von kronos editiert.
Das hatten wir schon mal, hundert pro! Ich habe hier noch eine Implementierung rumfliegen, aber die ist recht lang. -- Wer früher stirbt ist länger tot.
nö, wir hatten nur multiplakation... -- main($)??<-$<='?'>>2?main($-!!putchar( (("$;99M?GD??(??/x0d??/a:???;a"+'?'/4) ??($??)+'?'/3-2-1+$%2)??''?')):'?';??>