Почему следующий код выводит 128?
<?php print 4 << 5; ?>
Потому что это побитовый оператор . Я думаю, что это означает, что 4 умножается на 2 ^ 5, потому что этот оператор означает
Сдвиньте биты шагов $ a $ b влево (каждый шаг означает «умножить на два»)
так что это пять шагов. Это 4 * 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