[英]PHP Operator <<
<< 運算符在 php 中是什么意思?
示例:
$t = 5;
$foo = 1 << ($t);
echo($foo);
回聲產生:32
它是按位移位運算符。 具體來說,左移運算符。 它采用左側參數並將二進制表示向左移動右側參數指定的位數,例如:
1 << 2 = 4
因為 1(十進制)是 1(二進制); 左移兩次使其為100
,即十進制為4
。
1 << 5 = 32
因為二進制的100000
是十進制的32
。
右移 (>>) 做同樣的事情,但向右移動。
“<<”是左移。 請查看 PHP 的按位運算符。 http://php.net/manual/en/language.operators.bitwise.php
更深入的解釋:
這意味着乘以二,因為它適用於二進制級別。 例如,如果您有二進制數字 5
0101
然后左移一次到(將每一位移到一個位置上)
1010
那么你的結果是 10。使用二進制(從右到左)是 2^0、2^1、2^2、2^3,依此類推。 如果看到 1,則將相應的 2 次冪相加。 所以我們新結果的數學公式如下所示:
0 + 2^1 + 0 + 2^3
0 + 2 + 0 + 8 = 10
祝你好運!
丹尼斯 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
<<
按位左移。 此操作將左側操作數的位向左移動與右側操作數相等的位置數,在移位后的位置插入未設置的位。
>>
按位右移。 此操作將左側操作數的位向右移動與右側操作數相等的位置數,在移位后的位置插入未設置的位。
注意:值得注意的是,這兩個提供了一種簡單(且非常快速)的方法來將整數乘以/除以 2 的冪。 例如: 1<<5 結果是 32 ......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.