Странное поведение печати в PHP? Почему следующий код выводит 128? <?php print 4 << 5; ?> Ответ 1 Потому что это побитовый оператор. Я думаю, что это означает, что 4 умножается на 2 ^ 5, потому что этот оператор означает Сдвиньте биты шагов $a $b влево (каждый шаг означает "умножить" на два ") так что это пять шагов. Это 4 * 2 * 2 * 2 * 2 * 2 (Но я предполагаю, что все происходит на уровне бит). Ответ 2 Обратитесь к Побитовые операторы: Нам нужно найти 4 < 5. Это означает сдвиг бит 4 5 раз влево: 4 is 00000000000000000000000000000100 4 << 5 after shifting is 00000000000000000000000010000000 00000000000000000000000010000000 is 2^7 = 2*2*2*2*2*2*2 = 128
Ответ 1 Потому что это побитовый оператор. Я думаю, что это означает, что 4 умножается на 2 ^ 5, потому что этот оператор означает Сдвиньте биты шагов $a $b влево (каждый шаг означает "умножить" на два ") так что это пять шагов. Это 4 * 2 * 2 * 2 * 2 * 2 (Но я предполагаю, что все происходит на уровне бит).
Ответ 2 Обратитесь к Побитовые операторы: Нам нужно найти 4 < 5. Это означает сдвиг бит 4 5 раз влево: 4 is 00000000000000000000000000000100 4 << 5 after shifting is 00000000000000000000000010000000 00000000000000000000000010000000 is 2^7 = 2*2*2*2*2*2*2 = 128