Как сохранить 64-разрядное целое число в виде двоичного значения, и как мне прочитать сохраненное 64-разрядное целое число?

Я хочу преобразовать 64-битное двоичное значение в целое число или строку и наоборот.

Я знаю, что могу использовать pack («J *», …) и распаковать («J *», …) для своей работы.

но это работает только в php v5.6 и позже, и моя версия php 5.4

теперь как это сделать в php v5.4 ??

0

Решение

Вы можете сделать это следующим образом, сохранив его как два 32-битных значения:

$high   = ($value & 0xffffffff00000000) >> 32;
$low    = $value & 0x00000000ffffffff;
$packed = pack('NN', $high, $low);

list($high, $low) = array_values(unpack('N2', $packed));
$value            = $high << 32 | $low;
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]