mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik float Mittelwert


Autor: Fibuanacci (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

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

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Karl Heinz
Du sprichst mir aus der Seele !

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Fibuanacci (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles klar, Danke.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Allerdings gibt's auch dumme Compiler

zum Bleistift ?

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.