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

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

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

PHP:
1684632638 << 12 = 6900255285248

JS:
1684632638 << 12 = -1757159424
  • Вопрос задан
  • 264 просмотра
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@mukolla
function intval32bits($value)
{
    $value = ($value & 0xFFFFFFFF);

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

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

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

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