【问题标题】:Strange print behaviour in PHP? [duplicate]PHP中奇怪的打印行为? [复制]
【发布时间】:2012-03-31 21:35:22
【问题描述】:

为什么下面的代码输出128?

<?php 
    print 4 << 5; 
?>

【问题讨论】:

标签: php echo


【解决方案1】:

因为它是bitwise operator。我认为这意味着 4 乘以 2^5 因为该运算符意味着

将 $a $b 的位向左移动(每一步的意思是“乘 两个")

所以这是五个步骤。它是 4 * 2 * 2 * 2 * 2 * 2(但我在这里猜测;一切都发生在位级别)。

【讨论】:

  • 感谢 Nicola.Nice 解释
【解决方案2】:

参考Bitwise Operators

我们必须找到4 4的位向左移动5次:

4 is 00000000000000000000000000000100
4 << 5 after shifting is 00000000000000000000000010000000
00000000000000000000000010000000 is 2^7 = 2*2*2*2*2*2*2 = 128

【讨论】:

  • +1 为例。提醒我我必须了解位运算符的实际工作原理。 :)
  • @AmalMurali 感谢兄弟。 :)
猜你喜欢
  • 1970-01-01
  • 2014-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多