Forum: Mikrocontroller und Digitale Elektronik Datentype und µC


von Peter (Gast)


Lesenswert?

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

von strunk (Gast)


Lesenswert?

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

von Peter (Gast)


Lesenswert?

...16 Bit Controller können nur 16 Bit breite Datentype verarbeiten. 
oder habe ich ein Denkfehler.

Gruß Peter

von Jim M. (turboj)


Lesenswert?

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.

von georg (Gast)


Lesenswert?

Peter schrieb:
> oder habe ich ein Denkfehler

Mindestens einen.

Georg

von Roland F. (rhf)


Lesenswert?

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

von c-hater (Gast)


Lesenswert?

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?

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

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.

von Peter S. (Gast)


Lesenswert?

Bei solchen Fragen einfach mal das Compiler-Manual konsultieren.

von Teddy (Gast)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.