Suche Code zur Rückumwandlung einer Integer-Zahl in ein Bit-Array

Hallo,

bestimmt hat sich hier schonmal jemand mit BitArrays und deren Darstellung in BYtes sowie den sich daraus ergebenden Integer-Zahlen beschäftigt.

Hierzu suche ich Code-Zeilen, weil ich gerade ein Gerät auslesen muss, welches die 8 Binärausgänge als „Bit mapped integer“ zurückgibt, den ich gerne in ein Array mit 8 Elementen und 1/0 Werten zurück-umwandeln möchte.

So soll z.B. Die Zahl 514 ein Array mit 8 Elementen zurückliefern, dessen zweites Element =1 und alle anderen =0 sind.
16448 liefert dann das 7. (binär 6.) Element = 1, alle anderen =0

Ich mache das im Moment mit der Hand am Arm:


$bin_tx = substr( (string)decbin( $arrXml['DO'] ) , -8 );
for ($i = 0; $i <= 7; $i++) 
{
	$do[ 7 - $i ] = $bin_tx[ $i ];
}

print_r( $do );

Geht das nicht eleganter?

Moin jwka,

das Thema hatten wir schon mal mit einem „word“.
http://www.ip-symcon.de/forum/f52/word-bits-zerlegen-17190/

Gruß
Attain

Thanks, das war’s, was ich gesucht hab.

jwka