phpbar.de logo

Mailinglisten-Archive

[php] Dringend: 32-Bit-Werte

[php] Dringend: 32-Bit-Werte

Stefan Engelhardt Stefan.Engelhardt_(at)_stud.fh-hannover.de
Sun, 23 Apr 2000 01:42:37 +0200


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