public static function unsignedRightShift(int $a, int $b) : int
    {
        return (
            $a >= 0
            ? $a >> $b
            : (($a & 0x7fffffff) >> $b) | (0x40000000 >> ($b - 1))
        );
    }
public static function unsignedRightShift(int $a, int $b) : int
    {
        return (
            $a >= 0
            ? $a >> $b
            : (($a & 0x7fffffff) >> $b) | (0x40000000 >> ($b - 1))
        );
    }
public static function unsignedRightShift ( int $ a , int $ b ) : int { return ( $ a >= 0 ? $ a >> $ b : ( ( $ a & 0x7fffffff ) >> $ b ) | ( 0x40000000 >> ( $ b - 1 ) ) ) ; }
Performs an unsigned right shift.

This is the same as the unsigned right shift operator ">>>" in other
languages.
Performs an unsigned right shift .