PHP 运算符 <<
<< 是什么意思? php中的运算符是什么意思?
示例:
$t = 5;
$foo = 1 << ($t);
echo($foo);
echo 产生:32
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
<< 是什么意思? php中的运算符是什么意思?
示例:
$t = 5;
$foo = 1 << ($t);
echo($foo);
echo 产生:32
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
它是按位移位运算符。具体来说,是左移运算符。它采用左侧参数,并将二进制表示形式向左移动右侧参数指定的位数,例如:
因为 1(十进制)是 1(二进制);左移两次使其变为
100
,即十进制的4
。因为二进制的
100000
是十进制的32
。右移 (>>) 执行相同的操作,但向右移动。
It is the bitwise shift operator. Specifically, the left-shift operator. It takes the left-hand argument and shifts the binary representation to the left by the number of bits specified by the right-hand argument, for example:
because 1 (decimal) is 1 (binary); left-shift twice makes it
100
which is4
in decimal.because
100000
in binary is32
in decimal.Right shift (>>) does the same thing but to the right.
获得左移运算结果的简单技巧,例如
15 << 2 = 15 * (2*2) = 60
15 << 3 = 15 * (2*2*2) = 120
15 << 5 = 15 * (2*2*2*2*2) = 480
等等..
所以它是:(
左边的数字)乘以(右边的数字)乘以 2。
同样适用右移运算符 (>>),其中:(
左边的数字)除以(右边的数字)乘以 2
Easy trick to get result of the left shift operation, e.g.
15 << 2 = 15 * (2*2) = 60
15 << 3 = 15 * (2*2*2) = 120
15 << 5 = 15 * (2*2*2*2*2) = 480
and so on..
So it's:
(number on left) multiplied by (number on right) times 2.
Same goes for right shift operator (>>), where:
(number on left) divided by (number on right) times 2
“<<”是左移一位。请回顾 PHP 的按位运算符。 http://php.net/manual/en/language.operators.bitwise。 php
更深入的解释:
这意味着乘以二,因为它在二进制级别上工作。例如,如果二进制数为 5
,并且向左移动一次(将每一位移过一个位置)
,则结果为 10。使用二进制(从右到左)为 2^0、2^1 、2^2、2^3 等等。如果看到 1,则将相应的 2 的幂相加。因此,新结果的数学计算如下所示:
"<<" is a bit-shift left. Please review PHP's bitwise operators. http://php.net/manual/en/language.operators.bitwise.php
A more in-depth explanation:
This means multiply by two because it works on the binary level. For instance, if you have the number 5 in binary
and you bit-shift left once to (move each bit over one position)
then your result is 10. Working with binary (from right to left) is 2^0, 2^1, 2^2, 2^3, and so on. You add the corresponding power of two if you see a 1. So our math for our new result looks like this:
它是二进制移位运算符:
http://php.net/manual/en/语言.operators.bitwise.php
It is the binary shifting operator:
http://php.net/manual/en/language.operators.bitwise.php
<<
按位左移。此操作移动左侧操作数的位向左移动多个等于右操作数的位置,
在移位的位置插入未设置的位。
>>
按位右移。此操作移动左侧操作数的位向右移动多个等于右操作数的位置,
在移位的位置插入未设置的位。
注意:值得注意的是,这两个提供了一个简单(而且非常快)的方法
整数乘以/除以 2 的幂的方法。例如:1<<5 结果将是 32......
<<
Bitwise left shift. This operation shifts the left-hand operand’s bitsto the left by a number of positions equal to the right operand,
inserting unset bits in the shifted positions.
>>
Bitwise right shift. This operation shifts the left-hand operand’s bitsto the right by a number of positions equal to the right operand,
inserting unset bits in the shifted positions.
NOTE: It’s also interesting to note that these two provide an easy (and very fast)
way of multiply/divide integers by a power of two. For example: 1<<5 will give 32 as a result.......