TS: Datentypen in PHP 32 Bit

Beitrag lesen

Hello Rolf,

vielen Dank für's Testen.

auf der PHP.NET Seite zu long2ip steht so ein blöder Tipp - man solle den Input für long2ip einfach nach float casten. Das ist Nonsense, damit funktioniert es dann konsequent gar nicht mehr.

A-bär, andersrum gecastet wird's was:

$ip = long2ip((int)bindec($bitString));

Gerade mit PHP 7.3 32bit probiert. Funktioniert 1:1 identisch unter 32- und 64-bit PHP.

Das tuts auf dem alten System auch nicht.

Register: 11111111111111111111111111111111
Registerbreite: 32
PHP-Version: 7.2.6

Dabei kommt entweder false heraus oder eine Fehlermeldung, dass ip2log() kein Float mag. Und das ganz unabhängig davon, ob ich mit (int) caste, oder nicht.

Das Ganze scheint auch noch zufallsabhängig zu sein.

Da bleibt der Würger eben drin.

Ich weiß nicht, wo die Klasse nachher landet, und da sie ja unter Berücksichtigung dieser Seiteneffekte eigentlich nicht von 64 Bit abhängig sein muss, machen die paar Zeilen dann auch nichts mehr aus.

Ich hatte das schon auf 64 Bit fertig und bekam es mit Anmerkungen zurück.

Glück Auf
Tom vom Berg

--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.