|
Autor |
C - double - Überlauf oder nicht |
|
JamesNguyen
Aktiv  Dabei seit: 08.11.2020 Mitteilungen: 187
 |
Hallo,
was passiert eig. wenn ich solche Dinge mache:
double b = 0.85E+308 + 0.85E+308 + 1
(die Grenze bei double ist 1.7E+308)
Vielen Dank,
James
|
Notiz Profil
Quote
Link | Folgende Antworten hat der Fragesteller vermutlich noch nicht gesehen. |
Schottky
Neu  Dabei seit: 01.03.2021 Mitteilungen: 1
 |     Beitrag No.1, eingetragen 2021-03-01
|
Hi James,
Also in dem Fall wird die 1 einfach vernachlässigt. Grundlegend gilt: Wenn zwei Zahlen (double) addiert werden, kann es zu Auslöschung kommen. 1 ist einfach viel viel kleiner als 0.85E+308 bzw. 1.7e+308 und die Zahl kann nicht dargestellt werden.
Das ganze passiert bereits bei viel kleineren Zahlen, z.B. wird (1e20 + 1) == 1e20 true zurück geben. Die Zahl 1e20 + 1 kann einfach nicht dargestellt werden.
Wenn man wirklich eine Situation hätte, die zum "überlauf" führt (also z.B. 1e+308 + 1e+308) bekommt man einfach +inf (das Gleiche gilt natürlich auch für Zahlen < 0)
|
Notiz Profil
Quote
Link |
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2021 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|