@synapse_people

Как эмулировать беззнаковый побитовый сдвиг >>>?

Есть класс в пхп, который представляет long из джавы в виде 2 интов по 32 бит: hi, lo.
Необходимо реализовать функцию побитового сдвига в право, беззнаково.... Имеется код:
function shiftRightUnsigned($bits) {
        $bits %= 64;
        $c = new o_u64(0, 0);
        if ($bits === 0) {
            return clone $this;
        } else if ($bits >= 32) {
            $c->hi = 0;
            $c->lo = $this->hi >> ($bits - 32);
        } else {
            $bitsOff32 = 32 - $bits;
            $toMoveDown = $this->hi << $bitsOff32 >> $bitsOff32;
            $c->hi = $this->hi >> $bits;
            $c->lo = $this->lo >> $bits | ($toMoveDown << $bitsOff32);
        }
        return $c;
    }

Дальше меня не хватило....помогите, плз
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 1
Minifets
@Minifets
Hello world!!!
А не проще установить 64 битную сборку PHP?
Ответ написан
Ваш ответ на вопрос

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

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