T tdkpaul 13. Februar 2010 #1 PHP: int m; double d=1e89; m = d; printf("m = d: %d\n" , m); warum kommt hier m = d: -2147483648 als Ausgabe? Wie kann man das herleiten?
PHP: int m; double d=1e89; m = d; printf("m = d: %d\n" , m); warum kommt hier m = d: -2147483648 als Ausgabe? Wie kann man das herleiten?
D deepthroat Erfahrenes Mitglied 13. Februar 2010 #2 Hi. tdkpaul hat gesagt.: PHP: int m; double d=1e89; m = d; printf("m = d: %d\n" , m); warum kommt hier m = d: -2147483648 als Ausgabe? Wie kann man das herleiten? Zum Vergrößern anklicken.... Gar nicht. Der Wert des double ist zu groß und konnte nicht in einen Integerwert konvertiert werden. In dem Fall ist das Ergebnis undefiniert. Je nach Compiler hat m irgendeinen (unbestimmten) Wert. Gruß
Hi. tdkpaul hat gesagt.: PHP: int m; double d=1e89; m = d; printf("m = d: %d\n" , m); warum kommt hier m = d: -2147483648 als Ausgabe? Wie kann man das herleiten? Zum Vergrößern anklicken.... Gar nicht. Der Wert des double ist zu groß und konnte nicht in einen Integerwert konvertiert werden. In dem Fall ist das Ergebnis undefiniert. Je nach Compiler hat m irgendeinen (unbestimmten) Wert. Gruß