Hallo Ich wollte mal fragen wieso bei den AT Megas eine INT variable 16 BIT groß ist und nicht 8Bit. Die AT Megas sind doch 8BIT chips?
Die minimale Datenbreite des Typs int hat nichts mit der Plattform zu tun, sondern ist im C-Standard festgelegt. Und da C ursprünglich nicht für den Einsatz auf Plattformen mit weniger als 16 Bit vorgesehen war, steht in dem entsprechenden ANSI-Dokument eben als minimale Breite 16 Bit.
Ach so danke Dann müsste auf http://www.roboternetz.de/wissen/index.php/C-Tutorial#int.2C_char.2C_short.2C_long_.28ganze_Zahlen.29 ein Fehler sein weil dort steht; 8, 16, 32 oder 64 BIT für INT möglich
Teelöffel wrote: > Ach so danke > > Dann müsste auf > http://www.roboternetz.de/wissen/index.php/C-Tutorial#int.2C_char.2C_short.2C_long_.28ganze_Zahlen.29 > > ein Fehler sein weil dort steht; 8, 16, 32 oder 64 BIT für INT möglich Wenn man einen char als int missbraucht (was z.B. in der stdint.h gemacht wird), dann kann man implizit auch 8-Bit-Integer verarbeiten. Aber das ist nicht der "Ur"-Datentyp int wie er im Standard als Schlüsselwort enthalten ist. int8_t und Konsorten sind per typedef generierte Datentypen, die allerdings mit der stdint.h zusammen ebenfalls zur Standard-Ausstattung von C gehören, nur man muss eben die stdint.h einbinden, um sie nutzen zu können.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.