float

Beschreibung

Datentyp für Fließkommazahlen, eine Zahl mit Dezimalpunkt. Fließkommazahlen werden häufig zur Annäherung an analoge und kontinuierliche Werte verwendet, da sie eine höhere Auflösung als ganze Zahlen haben. Fließkommazahlen können bis zu 3.4028235E+38 und bis zu -3.4028235E+38 betragen. Sie werden als 32 Bit (4 Byte) Informationen gespeichert.

Syntax

float var=val

Parameter

  • var: Variablenname.
  • val: Der Wert, der der Variablen zugewiesen wird.

Beispielcode

float myfloat; float sensorCalbrate = 1.117; int x; int y; float z; x = 1; y = x / 2; // y enthält jetzt 0, ints können keine Brüche enthalten z = (float)x / 2.0; // z enthält jetzt .5 (Du musst 2.0 verwenden, nicht 2)

※ Anmerkungen und Warnungen:

Wenn du mit floats rechnest, musst du ein Dezimalzeichen hinzufügen, andernfalls wird es als int behandelt. Siehe die Fließpunkt-Konstanten-Seite für weitere Informationen.

Floats haben eine Genauigkeit von nur 6-7 Dezimalstellen. Das bedeutet die Gesamtzahl der Ziffern, nicht die Zahl rechts vom Dezimalpunkt. Im Gegensatz zu anderen Plattformen, bei denen du durch die Verwendung eines double (z. B. bis zu 15 Ziffern) eine höhere Genauigkeit erzielen kannst, hat double auf dem Arduino die gleiche Größe wie float.

Fließkommazahlen sind nicht genau und können beim Vergleich zu seltsamen Ergebnissen führen. Zum Beispiel kann 6.0 / 3.0 nicht gleich 2.0 sein. Du solltest stattdessen überprüfen, ob der absolute Wert der Differenz zwischen den Zahlen geringer als eine kleine Zahl ist.

Die Konvertierung von Gleitkomma- in Ganzzahl-Mathematik führt zu Kürzungen:

float x = 2.9; // Eine float-Variable int y = x; // 2

Wenn du stattdessen während des Konvertierungsprozesses abrunden möchtest, musst du 0,5 addieren:

float x = 2.9; int y = x + 0.5; // 3

oder die round()-Funktion nutzen:

float x = 2.9; int y = round(x); // 3

Die Gleitkomma-Mathematik ist bei Berechnungen auch viel langsamer als die Ganzzahl-Mathematik. Es sollte also vermieden werden, wenn beispielsweise eine Schleife für eine kritische Timing-Funktion mit Höchstgeschwindigkeit laufen muss. Programmierer gehen oft etwas in die Länge und konvertieren Gleitkomma-Berechnungen in Ganzzahl-Mathematik, um die Geschwindigkeit zu erhöhen.

Siehe Auch

Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.