Mailinglisten-Archive |
Hallo Liste, ich brauche DRINGEND einen Tip von Euch (für meine Diplomarbeit). Ich muß mit sehr großen Integerzahlen arbeiten. Allerdings kriege ich da massive Probleme. Wenn ich einer Variablen Werte größer als 2hoch31 zuweise, gibt es so erst einmal keine Probleme. Allerdings wenn ich dann Operationen damit anstelle, kriege ich öfters negative Werte heraus. Konkret: $Test=4294967295; echo $Test; gibt den korrekten Wert aus. Kommt folgendes dazu: $Testarray[$Test]=100; echo $Testarray[$Test]; klappt auch noch. list($IP,$Wert)=each($Testarray); echo $IP; Bringt mich zum Wahnsinn. Unter Windows ergibt das den Wert -1. Unter Linux bekomme ich -2147483648, also den kleinsten möglichen Wert bei 32-Bit-Integer mit Vorzeichen. Verändere ich nun $Test, kommt unter Windows immer ein sich ändernder Wert heraus, bei dem einfach vom Ausgangswert 2hoch32 abgezogen wurde. Wäre ja kein Problem, dnkt man, addierst Du einfach die 2hoch32, dann stimmt alles. Aber unter Linux kriege ich schon graue Haare davon. Bei jedem Wert größer 2hoch31 kriege ich immer die -2147483648 heraus. Bitte helft mir, ich hänge an dieser Stelle seit drei Tagen fest und mir rennt die Zeit weg. Grüße aus Hannover Stefan
php::bar PHP Wiki - Listenarchive