Hallo zusamen, ich habe eine Frage, vielleicht kann mir jemand helfen. ich habe einen 16 Bit Controller von Renesas. Ist es möglich den Datentype Long zu verwenden, wenn ja warum? Gruß Peter
Peter schrieb: > ich habe einen 16 Bit Controller von Renesas. > Ist es möglich den Datentype Long zu verwenden, wenn ja warum? Troll dich. https://www.mikrocontroller.net/articles/Netiquette
...16 Bit Controller können nur 16 Bit breite Datentype verarbeiten. oder habe ich ein Denkfehler. Gruß Peter
Peter schrieb: > Ist es möglich den Datentype Long zu verwenden, wenn ja warum? Ja, weil es in der C Spezifikation steht. Konnten wir auf dem 16-Bit 8086 auch schon nutzen. Ansonsten sollte man für diese Frage totes Holz (ein Buch) bemühen, C ist nicht selbsterklärend.
Hallo, Peter schrieb: > ich habe einen 16 Bit Controller von Renesas. > > Ist es möglich den Datentype Long zu verwenden, wenn ja warum? Ja, kann man. Du kannst in jedem Controller jeden nur denkbaren Datentyp verwenden, du musst dir dann nur Routinen schreiben, mit denen du auf diesen Datentyp zugreifen kannst. Sollte sich die Frage auf die Programmierung deines Controllers mit C beziehen, hilft ein Blick in dein Programmierhandbuch. Die Wahrscheinlichkeit das dein C-Compiler den Typ "long" unterstützt dürfte nahezu bei 100% liegen. Was willst eigentlich machen? rhf
Peter schrieb: > ...16 Bit Controller können nur 16 Bit breite Datentype verarbeiten. > oder habe ich ein Denkfehler. Hast du. Die Frage ist: Kannst du überhaupt selbstständig denken?
Peter schrieb: > ich habe einen 16 Bit Controller von Renesas. > Ist es möglich den Datentype Long zu verwenden, wenn ja warum? in welchem Zusammenhag ist dir denn diese Frage "in den Sinn gekommen"? Peter schrieb: > ...16 Bit Controller können nur 16 Bit breite Datentype verarbeiten. Nein. "Natürlich" kann jeder beliebige Controller jeden beliebigen Datentypen (numerisch, boolesch, irgendwelchen beliebigen Typ) "abbilden". Wobei "abbilden" nicht heißt, daß dieser Controller diesen Datentypen "nativ" nutzt, also z.B. durch seine internen Register direkt 1:1 ohne Redundanz etc. abbildet. Auch der Datentyp "short int" (8 bit lang) kann z.B. durch solch jeden beliebigen Controller (also nicht nur ein 16 bit Typ von Renesas) abgebildet werden. Klar cann "jeder beliebige Controller" auch Datentypen wie z.B. STRING oder ARRAY verarbeiten. Ebenso ist es möglich, daß ein "dummer" Controller ohne eigene Arithmetik-Einheit mit gebrochenen Zahlen (float) rumrechnen kann. Er muss es halt nur "stückchenweise" machen, oder die entsprechenden Verarbeitungs-Schritte (z.B. Rechen-Verknüpfungen) entsprechend "simulieren". Und je nach Prozessor werden unterschiedliche Bibliotheken zum Einsatz kommen: Der eine Controller "kennt" Gleitpunktzahlen-Arithmetik, hat z.b. passende Register und eine entsprechende Hardware "inne drin". da kann also auf einfache Grundbefehle zurück gegriffen werden. Der Andere Controller kann das nicht, er ist einfacher gebaut. Also muss er das Gleitzahlen-Rechnen mühselig "Stück für Stück" machen. Wie er das macht, shetht in seiner speziellen anderen Bibliothek.
Peter schrieb: > ...16 Bit Controller können nur 16 Bit breite Datentype > verarbeiten. > oder habe ich ein Denkfehler. > > Gruß Peter SO ein Unsinn. Wenn du 32 Bit Berechnungen durchführst, wird einfach 2x16Bit Speicher adressiert. Bei 8-bit CPUs eben 4x8bit Speicher.
Wie grosse Zahlen kannst du denn auf Papier addieren? Wodurch wird es beschränkt?
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.