Выбор ответа Middle Биты обновлено
Сдвиг >>> и знак
Вопрос
Чем >>> отличается от >> в JS?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: заполняет нулями, сохраняет знак. -8 1 даёт -4 (арифметический сдвиг), а -8 1 даёт 2147483644 (логический).
Варианты ответа
- Ничем: это синоним
>>для совместимости >>>сдвигает на 3 бита, а>>на 2 бита>>>заполняет нулями,>>сохраняет знакправильный ответ>>>работает только с BigInt, а>>с Number
Разбор
-8 >> 1 даёт -4 (арифметический сдвиг), а -8 >>> 1 даёт 2147483644 (логический). Трюк x >>> 0 превращает число в беззнаковое 32-битное, это удобно для вывода битов отрицательных чисел.
- Разница существенна для отрицательных.
- Число стрелок не задаёт величину сдвига.
- С BigInt
>>>как раз не работает: TypeError.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.