<<运算符在php中意味着什么?
例:
$t = 5;
$foo = 1 << ($t);
echo($foo);
Run Code Online (Sandbox Code Playgroud)
echo产生:32
谢谢
Cam*_*ner 41
它是按位移位运算符.具体来说,是左移算子.它采用左手参数并将二进制表示向左移动右手参数指定的位数,例如:
1 << 2 = 4
Run Code Online (Sandbox Code Playgroud)
因为1(十进制)是1(二进制); 左移两次使得它100
是4
十进制的.
1 << 5 = 32
Run Code Online (Sandbox Code Playgroud)
因为100000
二进制是32
十进制的.
右移(>>)做同样的事情,但右边.
"<<"是一个向左移位.请查看PHP的按位运算符.http://php.net/manual/en/language.operators.bitwise.php
更深入的解释:
这意味着乘以2,因为它适用于二进制级别.例如,如果您的二进制数为5
0101
Run Code Online (Sandbox Code Playgroud)
并且你向左移位一次(将每个位移到一个位置)
1010
Run Code Online (Sandbox Code Playgroud)
然后你的结果是10.使用二进制(从右到左)是2 ^ 0,2 ^ 1,2 ^ 2,2 ^ 3,依此类推.如果你看到1,你可以添加相应的2的幂.所以我们对新结果的数学计算如下:
0 + 2^1 + 0 + 2^3
0 + 2 + 0 + 8 = 10
Run Code Online (Sandbox Code Playgroud)
祝好运!
丹尼斯·M
获得左移操作结果的简单技巧,例如
15 << 2 = 15 * (2*2) = 60
15 << 3 = 15 * (2*2*2) = 120
15 << 5 = 15 * (2*2*2*2*2) = 480
等等..
所以是:
(左边的数字)乘以(右边的数字)乘以 2。
右移运算符 (>>) 也是如此,其中:
(左边的数字)除以(右边的数字)乘以 2