3v4l.org

run code in 300+ PHP versions simultaneously
<?php $mask = 112; $blocks = (int)($mask / 16); $b = unpack('n*', pack('n*', ...array_fill(0, $blocks, 0xffff), ...array_pad([~((2 ** (16 - ($mask % 16))) - 1) & 0xffff], 8 - $blocks, 0))); foreach ($b as $block) { printf("%016b\n", $block); }

preferences:
72.94 ms | 402 KiB | 5 Q