为什么以下代码输出128?
<?php
print 4 << 5;
?>
答案 0 :(得分:14)
因为它是bitwise operator。我认为这意味着4乘以2 ^ 5,因为该算子意味着
向左移动$ a $ b步的位(每一步意味着“相乘” 两个“)
所以这是五个步骤。这是4 * 2 * 2 * 2 * 2 * 2(但我在这里猜测;一切都发生在比特级别)。
答案 1 :(得分:14)
请参阅 Bitwise Operators :
我们必须找到4&lt;&lt;这意味着将4
的位向左移5次:
4 is 00000000000000000000000000000100
4 << 5 after shifting is 00000000000000000000000010000000
00000000000000000000000010000000 is 2^7 = 2*2*2*2*2*2*2 = 128