Hi, ich bin blutiger Anfänger. Kann mir jemand erklären für was in
1 | uint16_t baud = F_CPU / (UART_BAUD_RATE * 16L)-1; |
das 16L steht? Speziell meine ich dabei das 'L', dass die 16 eine Konstanten sein soll ist mir klar.
|
|
Forum: Compiler & IDEs Was ist das 'L' in 'F_CPU / (UART_BAUD_RATE * 16L)-1'?Hi, ich bin blutiger Anfänger. Kann mir jemand erklären für was in
das 16L steht? Speziell meine ich dabei das 'L', dass die 16 eine Konstanten sein soll ist mir klar. hans schrieb: > dass die 16 eine > Konstanten sein soll ist mir klar. Eine Konstante mit dem Typ 'int'. Das L erzwingt für die Konstante den Typ 'long'. Das wiederum zwingt den Compiler dazu, die Multiplikation "UART_BAUD_RATE * 16L" in 'long' durchzuführen. Und warum das Ganze? Weil die Multiplikation in 'int' überlaufen könnte. - Gibt's das ganze irgendwie im Tutorial? - Gibt es auch Varianten für double, int, ... (1d, 1i)??? hans schrieb: > - Gibt's das ganze irgendwie im Tutorial? Weiß ich nicht. Aber es gibt "das Ganze" mit Sicherheit in jedem C Buch. hans schrieb: > - Gibt es auch Varianten für double, int, ... (1d, 1i)??? Double? Ja. Int? Wozu sollte das gut sein? hans schrieb: > > - Gibt es auch Varianten für double, Dezimalpunkt oder e-Notation verwenden (1.0, 1e6). Bei float (32-Bit Fließkomma) ein f nachstellen (1.0f). > int int ist der Default ohne spezielle Kennzeichnung. Es gibt noch U bzw. UL für unsigned und unsigned long, und evtl. LL bzw. ULL für long long (64 Bit). Wie groß int und long sind, hängt vom Compiler ab (int mindestens 16 Bit, long mindestens 32 bit, wenn ich mich recht erinnere). Jürgen S. schrieb: > Bei float (32-Bit Fließkomma) ein f nachstellen (1.0f). Oder ein L für long double. Ob diese Suffixe groß oder klein geschrieben werden, ist übrigens egal. Wobei man ein großes L weniger mit einer 1 verwechselt. 1l oder 1L DirkB schrieb: > Wobei man ein großes L weniger mit einer 1 verwechselt. > 1l oder 1L Wenn man die leicht verwechseln kann, ist das ein Zeichen dafür, daß man zum Programmieren den falschen Font gewählt hat. Das gleiche gilt für O und 0. Rolf Magnus schrieb: > > Ob diese Suffixe groß oder klein geschrieben werden, ist übrigens egal. Dem Compiler schon, als Mensch bevorzuge ich großes L (wegen Verwechslungsgefahr von l und 1), großes U (weil oft zusammen mit L) und kleines f (sieht schöner aus an der Stelle). 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.
|
|