Выбор ответа Middle Биты обновлено
Биты в JS 32-битные
Вопрос
Что выведет код?
console.log((2 ** 32) | 0);
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 0. Побитовые операторы в JS приводят число к 32-битному целому со знаком.
Варианты ответа
0правильный ответ42949672961-2147483648
Разбор
Побитовые операторы в JS приводят число к 32-битному целому со знаком. 2³² в 32 битах это 0, и 0 | 0 даёт 0. Для больших чисел нужен BigInt.
- 4294967296 это исходное значение без приведения.
- 1 и
-2147483648получаются при других значениях (например,2 ** 31 | 0даёт-2147483648).
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.