Hi Leute!
Ich habe in einer Bibliothek eine Zahl an die ein großes L angehängt wurde.
Für was steht dieses großes L ??
60L1000L1000L steht in der Bibliothek
Mit freundlichen Grüßen
Hi Leute!
Ich habe in einer Bibliothek eine Zahl an die ein großes L angehängt wurde.
Für was steht dieses großes L ??
60L1000L1000L steht in der Bibliothek
Mit freundlichen Grüßen
Hallo klemi1983
Das L steht für die Spezifikation des Datentypes LONG.
Vermutlich die nächste Frage: Wozu braucht man das?
A = B;
Der Ausdruck B wird zunächst im Typ int berechnet, erst das Ergebnis dann in den Typ von A gewandelt und A zugewiesen.
Die Bitzahl von int hängt vom µC ab, beim ATmega328 sind es 16.
Zur Veranschaulichung dieses Beispiel für einen UNO:
void setup() {
Serial.begin(9600);
Serial.println("\nStart");
int a = 60;
int b = 1000;
int y = a * b / 3;
Serial.print("y = ");
Serial.println(y);
y = 1L * a * b / 3;
Serial.print("y = ");
Serial.println(y);
y = 1.0 * a * b / 3;
Serial.print("y = ");
Serial.println(y);
}
void loop() {}
Ausgabe:
Start
y = -1845
y = 20000
y = 20000
"1L" wandelt den Typ nach long, so daß das Zwischenergebnis 60.000 keinen Überlauf verursacht. Bei positiven ganzen Zahlen wäre "1UL" besser.
"1.0" wandelt den Typ in float. Das sieht man auch recht häufig, wobei float auf 8-Bit-AVRs recht ungenau ist und daher möglichst vermieden werden sollte.
Es wird ein numerisches Literal mit dem Datentype float erzeugt.
Und nein: Das ist keine Konvertierung!
Auch "1L" ist keine Wandlung, und auch das L kein Formatierer
Wandeln == Konvertieren.
Die Arduino Doku ist da weder vollständig noch überhaupt aussagekräftig, denn diese Dinge (L,l,ull usw) gehören zur Sprache.
Es nennt sich Literal Suffix.
Der Suchtipp lautet also : "C++ Literal Suffix"
Und führt stracks zu: Integer literal - cppreference.com
Konvertierungen/Wandlungen sind hier beschrieben:
https://en.cppreference.com/w/cpp/language/implicit_conversion
und
https://cplusplus.com/doc/tutorial/typecasting/
Wie man sieht, weit und breit keine besonderen Endungen an Zahlen.
Danke
Danke ich werde mir die Links ansehen.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.