Bitanzahl einer Variablen festlegen

voklpa

Grünschnabel
Hallo,

ich möchte eine Verundung zweier Variablen durchführen, die zuvor mittels decbin() von dezimaler Schreibweise in binäre umgewandelt wurden. Nun möchte ich aber, dass diese Variablen genau 8 Bit bzw. 8 Zeichen lang sind, da sonst bei der Verundung Mist rauskommt.

Bsp:
9 -> 1001
& 128 -> 10000000
-------------------------------
8 -> 1000

Richtig wäre:
9 -> 00001001
& 128 -> 10000000
------------------------------
0 -> 00000000


Kann ich vielleicht schon eine andere Funktion beim Umwandeln von dec in bin verwenden? Oder gibt es eine Funktion, die die Größe der Variablen festlegt?

Besten Dank schon mal
Gruß
voklpa
 
Wenn du sicher bist das die zahlen im 8-Bit Bereich bleiben ist es ziemlich einfach, einfach mit str_pad die nullen davorstellen lassen.

PHP:
echo str_pad(decbin(9), 8, "0", STR_PAD_LEFT);
 
Wenn du sicher bist das die zahlen im 8-Bit Bereich bleiben ist es ziemlich einfach, einfach mit str_pad die nullen davorstellen lassen.

PHP:
echo str_pad(decbin(9), 8, "0", STR_PAD_LEFT);

Danke, genau das hatte ich gesucht. Da es sich jeweils um eines der vier Oktette einer IP-Adresse handelt, kann ich mir auch sicher sein, dass ich im 8-Bit Bereich bleiben werde.
Vielen Dank!
 
Zuletzt bearbeitet:
Du kannst die Zahlen aber auch schon verunden, wenn sie im Dezimalformat vorliegen:
5 & 3 = 7

Das hatte ich auch zuerst vor. Ich bekomme die Zahlen allerdings von einem html-Formular mit POST übergeben. Wenn ich diese aber im PHP-Dokument verunde ($_POST['zahl1'] & $_POST['zahl2']) kommt nichts sinnvolles heraus, warum weiß ich auch nicht.
 
Zurück