Задать вопрос
rentony
@rentony
ProGrammer

Побитовый сдвиг влево PHP vs JS?

Доброго времени суток!
Наткнулся на разные результаты одних и тех же операций в PHP и JS, данный трабл видимо обусловлен ограничением в 32 бита в JS, но как на PHP добиться такого же результата как на JS?

PHP:
1684632638 << 12 = 6900255285248

JS:
1684632638 << 12 = -1757159424
  • Вопрос задан
  • 263 просмотра
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@mukolla
function intval32bits($value)
{
    $value = ($value & 0xFFFFFFFF);

    if ($value & 0x80000000)
        $value = -((~$value & 0xFFFFFFFF) + 1);

    return $value;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы