Durch Null teilen

Gast #2614204
Lesenswert?

Steht im Datenblatt bzw. Programing Reference Manual. Manche CPUs werfen 
eine Exception bzw. bei manchen DSPs kann man konfigurieren ob ein 
Sättigung bei Überlauf eintreten soll. Manche Fließkommaeinheiten 
reagieren mit NAN (Not A Number weil theoretisch Unendlich bzw. nicht 
definiert).
Gast #2614233
Lesenswert?

dolf schrieb:
> Rüdiger schrieb:
>> Er explodiert mit einem gleißenden Lichtblitz und die darauf folgende
>> Aschewolke verhüllt für Jahre die Sonne. Wegen so etwas sind damals auch
>> die Dinos ausgestorben.
>
> hoffentlich sterben leute die so unqualifiziert antworten bald aus ....

Ich fand die Antwort super :-)
Gast #2614249
Lesenswert?

Wer solche Fragen stellt und sich nicht selbst informieren kann oder 
will (Datenblätterlesen soll ja durchaus kein Geheimnis sein), muß auch 
mit solchen Antworten rechnen.

Ich fand sie ebenfalls klasse.

Früher gabs Arithmetik-Co-Prozssoren mit Metallkappen. Wahrscheinlich 
war genau diese Division der Grund dafür. So wurden die Schäden wohl 
minimiert.
Moderator #2614420
Lesenswert?

chick schrieb:
> Wer solche Fragen stellt und sich nicht selbst informieren kann oder
> will (Datenblätterlesen soll ja durchaus kein Geheimnis sein), muß auch
> mit solchen Antworten rechnen.

Da die wenigsten Mikrocontroller über einen Divisionsbefehl verfügen,
führt das Lesen des Datenblatts nicht unbedingt zum Ziel. Stattdessen
sollte man sich die die Dokumentation der verwendeten Laufzeitbibliothek
zu Gemüte führen. Falls es aber um C-Programmierung geht, führt auch das
nicht unbedingt zum Ziel, da in C bei der Integerdivision durch Null das
Verhalten "undefined¹" (und nicht etwa "implementation defined") ist. 
Die
Nulldivision ist also in C auf jeden Fall zu vermeiden, und es besteht
kein Anspruch darauf, dass dieses Verhalten dokumentiert sein muss.

Bei Open-Source-Libraries kann man natürlich selber nachschauen, wenn
einen das wirklich interessiert.


¹) "undefined behavior" ist wörtlich zu nehmen und schließt prinzipiell
   auch die Explosion des Mikrocontrollers nicht aus ;-)
Moderator (Firma: Titel) Persönliche Seite #2614855
Lesenswert?

Simon S. schrieb:
> Man hat es bereits ausprobiert :-D
Woher weißt du, dass es hier im Thread ebenfalls um einen AVR geht?

BTW: es stimmt mich nachdenklich, wenn dort im Link ein
1
Erfahrener Benutzer
und
1
Roboter Experte
diese Frage für sich selbst noch nicht beantwortet hat:
1
Ist es überhaupt möglich einen AVR so zu "belasten" dass er heiß wird?
Moderator Persönliche Seite #2614976
Lesenswert?

Bernhard R. schrieb:
> Der Prozessor darf ausschließlich dann explodieren, wenn "darf nicht
> durch 0 dividieren" in den Absoluten Grenzwerten des Datenblatts
> aufgeführt ist.

Nein.  Das C-Laufzeitsystem darf die Division durch 0 auch erkennen
und selbst dann, wenn der Prozessor einen Divisionsbefehl hat,
diesen dann gar nicht erst ausführen, sondern stattdessen den Befehl
HCF. :-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren