- var_dump: documentation ( source)
- decbin: documentation ( source)
- str_pad: documentation ( source)
<?php
$dec = intval((-1 * PHP_INT_MAX) + 1);
var_dump(decbin($dec), dec2bin($dec));
function dec2bin($dec) {
if ($dec == 0) {
return 0;
}
$sgn = 1;
if ($dec < 0) {
$sgn = -1;
$dec = (PHP_INT_MAX + $dec) + 1;
}
$bin = '';
while ($dec > 0) {
$bin = ($dec & 1) . $bin;
$dec >>= 1;
}
return $sgn > 0 ? $bin : '1' . str_pad($bin, 63, '0', STR_PAD_LEFT);
}