How to create a bitset in PHP

1 Answer

0 votes
$bitset = new SplFixedArray(16); // Create a bitset with 16 bits

// Initialize all bits to 0
for ($i = 0; $i < $bitset->getSize(); $i++) {
    $bitset[$i] = 0;
}

// Set a bit
$bitset[3] = 1;

// Check a bit
if ($bitset[3] == 1) {
    echo "Bit 3 is set.\n";
} else {
    echo "Bit 3 is not set.\n";
}

$reversedFixedArray = ConvertSplFixedArrayToTegularArray($bitset);

// Print the reversed SplFixedArray
foreach ($reversedFixedArray as $value) {
    echo $value . " ";
}

// Convert SplFixedArray to a regular array
function ConvertSplFixedArrayToTegularArray($fixedArray) {
    $array = $fixedArray->toArray();

    // Reverse the array
    $reversedArray = array_reverse($array);

    // Convert back to SplFixedArray
    $reversedFixedArray = SplFixedArray::fromArray($reversedArray);
    
    
    return $reversedFixedArray;
}



/*
run:

Bit 3 is set.
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 

*/

 



answered May 7 by avibootz

Related questions

1 answer 16 views
1 answer 9 views
1 answer 13 views
2 answers 19 views
2 answers 14 views
...