【发布时间】:2012-03-31 21:35:22
【问题描述】:
为什么下面的代码输出128?
<?php
print 4 << 5;
?>
【问题讨论】:
为什么下面的代码输出128?
<?php
print 4 << 5;
?>
【问题讨论】:
因为它是bitwise operator。我认为这意味着 4 乘以 2^5 因为该运算符意味着
将 $a $b 的位向左移动(每一步的意思是“乘 两个")
所以这是五个步骤。它是 4 * 2 * 2 * 2 * 2 * 2(但我在这里猜测;一切都发生在位级别)。
【讨论】:
我们必须找到4 4的位向左移动5次:
4 is 00000000000000000000000000000100
4 << 5 after shifting is 00000000000000000000000010000000
00000000000000000000000010000000 is 2^7 = 2*2*2*2*2*2*2 = 128
【讨论】: