Что означает "|" (один канал) в JavaScript? console.log(0.5 | 0); // 0 console.log(-1 | 0); // -1 console.log(1 | 0); // 1 Почему 0.5 | 0 возвращает ноль, но любое целое число (включая отрицательное) возвращает целое число ввода? Что делает единственный канал ( "|" )? Ответ 1 Это побитовое или. Поскольку побитовые операции имеют смысл только для целых чисел, 0.5 усекается. 0 | x x, для любого x. Ответ 2 Сравнение бит настолько просто, что это почти непонятно;) Проверьте этот "nybble" 8 4 2 1 ------- 0 1 1 0 = 6 (4 + 2) 1 0 1 0 = 10 (8 + 2) ======= 1 1 1 0 = 14 (8 + 4 + 2) Побитие ORing 6 и 10 даст вам 14: alert(6 | 10); // should show 14 Ужасно смущает! Ответ 3 Один канал представляет собой bit-wise ИЛИ. Выполняет операцию ИЛИ для каждой пары бит. a OR b дает 1, если либо или b равно 1. JavaScript усекает любые нецелые числа в побитовых операциях, поэтому он вычисляется как 0|0, который равен 0.
Ответ 1 Это побитовое или. Поскольку побитовые операции имеют смысл только для целых чисел, 0.5 усекается. 0 | x x, для любого x.
Ответ 2 Сравнение бит настолько просто, что это почти непонятно;) Проверьте этот "nybble" 8 4 2 1 ------- 0 1 1 0 = 6 (4 + 2) 1 0 1 0 = 10 (8 + 2) ======= 1 1 1 0 = 14 (8 + 4 + 2) Побитие ORing 6 и 10 даст вам 14: alert(6 | 10); // should show 14 Ужасно смущает!
Ответ 3 Один канал представляет собой bit-wise ИЛИ. Выполняет операцию ИЛИ для каждой пары бит. a OR b дает 1, если либо или b равно 1. JavaScript усекает любые нецелые числа в побитовых операциях, поэтому он вычисляется как 0|0, который равен 0.