Gast
#310895
Hallo zusammen, kann man bei "float" genauso wie bei "unsigned char" den Shift-Operator >> nutzen, um zu dividieren?
|
Anzeige
|
float Mittelwert
Gast
#310895
Hallo zusammen, kann man bei "float" genauso wie bei "unsigned char" den Shift-Operator >> nutzen, um zu dividieren?
Gast
#310896
Nein Du sollst auch nicht bei unsigned char den >> Operator benutzen um zu dividieren. Wichtigste Regel in der Programmierung: "Schreib was Du haben willst" Du willst dividieren, dann schreib das auch als Division. Wenn auf deinem Computer und dem gewaehlten Datentyp tatsaechlich eine Division durch einen Shift ersetzt werden kann und der Shift schneller ist als eine Division, dann weiss Dein Compiler das und ersetzt die Division fuer Dich durch den Shift. Selbiges fuer Multiplikation und Shift in die andere Richtung.
Gast
#310898
@ Karl Heinz Du sprichst mir aus der Seele !
Gast
#310899
... Ihr habt im Prinzip recht. Allerdings gibt's auch dumme Compiler. Da bringt's dann schonwas, aber man sollte z.B. im Kommentar hinschreiben ... // teile durch 8 , weil dieser Compiler zu dumm ist und sonst Libraryfunktion aufruft
Gast
#310900
Alles klar, Danke. > Allerdings gibt's auch dumme Compiler
zum Bleistift ?
Gast
#310902
Dann kannste aber auch gleich noch kommentieren, daß dieser Kommentar nur für Leute ist, die zu dumm sind, die Anweisung zu verstehen :-) Ich möchte mal gerne sehen, wo jemals eine deartige Optimierung von Nöten gewesen wäre, damit ein Programm überhaupt funktioniert. Das ewige 'aufs letzte Bit Schielen' kommt aud der Steinzeit und sollte da auch bleiben. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|