如何在PHP中写'n <<= 1'(Python)?
我有一个Python的表达式 n <<= 1
这个在PHP中怎么写呢?
3 个回答
2
$n <<= 1;
是有效的 PHP 代码。
6
这个说法其实是简化了的表达。
n = n << 1;
<< 操作符表示的是将数字的二进制位向左移动 n 位。它的对应操作符是 >>,表示向右移动 n 位。为了更好理解,假设你有一个值 5,想把它向左移动 2 位。在二进制中:
0000 0101 -> 5
shift left by 2:
0001 0100 -> 20
基本上,你就是把所有的位向指定的方向移动,然后用零填充空出来的位置。简单来说,如果你没有位移操作符(大多数编程语言都有这个),那么向左移动相当于乘以 2 的 n 次方,向右移动则相当于除以 2 的 n 次方。
在这个例子中,你可以看到:5 * 2^2 = 5 * 4 = 20。
5
在PHP中,这个操作符是一样的。$n <<= 1;