Forum: Mikrocontroller und Digitale Elektronik float Mittelwert


von Fibuanacci (Gast)


Lesenswert?

Hallo zusammen,

kann man bei "float" genauso wie bei "unsigned char" den
Shift-Operator >> nutzen, um zu dividieren?

von Benedikt (Gast)


Lesenswert?

Nein

von Karl H. (kbuchegg)


Lesenswert?

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.

von Michael (Gast)


Lesenswert?

@ Karl Heinz
Du sprichst mir aus der Seele !

von Klaus (Gast)


Lesenswert?

... 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

von Fibuanacci (Gast)


Lesenswert?

Alles klar, Danke.

von Karl H. (kbuchegg)


Lesenswert?

> Allerdings gibt's auch dumme Compiler

zum Bleistift ?

von Michael (Gast)


Lesenswert?

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.

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
Noch kein Account? Hier anmelden.