PHP 位運算子

2022-03-14 21:52:37 字數 949 閱讀 9519

位運算子允許對整型數中指定的位進行置位。如果左右引數都是字串,則位運算子將操作字元的 ascii 值。

<?php echo 12 ^ 9; // 輸出為 '5'

echo "12" ^ "9"; // 輸出退格字元(ascii 8)

// ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8

echo "hallo" ^ "hello"; // 輸出 ascii 值 #0 #4 #0 #0 #0

// 'a' ^ 'e' = #4

echo 2 ^ "3"; // 輸出 1

// 2 ^ ((int)"3") == 1

echo "2" ^ 3; // 輸出 1

// ((int)"2") ^ 3 == 1

?>

位運算子

例子名稱

結果

$a & $b

and(按位與)

將把 $a 和 $b 中都為 1 的位設為 1。

$a | $b

or(按位或)

將把 $a 或者 $b 中為 1 的位設為 1。

$a ^ $b

xor(按位異或)

將把 $a 和 $b 中不同的位設為 1。

~ $a

not(按位非)

將 $a 中為 0 的位設為 1,反之亦然。

$a << $b

shift left(左移)

將 $a 中的位向左移動 $b 次(每一次移動都表示「乘以 2」)。

$a >> $b

shift right(右移)

將 $a 中的位向右移動 $b 次(每一次移動都表示「除以 2」)。

warning

在 32 位系統上不要右移超過 32 位。不要在結果可能超過 32 位的情況下左移。

PHP基礎 運算子 算術運算子 位運算子

1 將強制轉換為數字作加法運算 例 a 33 b 45.0 echo a b a b gettype a b 2 將強制轉換為數字作減法運算 例 a 33 b 45 echo a b a b gettype a b a 33.70 b 45.00 echo a b a b gettype a b 3...

位運算子,「,」逗號運算子,

位運算子有 按位與 按位或 按位異或 按位取反 優先順序從高到低,依次為 按位與運算有兩種典型用法,一是取乙個位串資訊的某幾位,如以下 擷取x的最低7位 x 0177。二是讓某變數保留某幾位,其餘位置0,如以下 讓x只保留最低6位 x x 077。按位或運算的典型用法是將乙個位串資訊的某幾位置為1。...

運算子之位運算子

右移 負數 無符號右移 或 異或 與 非 說明 位運算子都是作用在二進位製上的 比如 n 50 n 1 結果是多少?100 n 2 結果是多少?200 n 5 結果是多少?1600 為什麼會是這樣的呢?運算的邏輯如下 1,n 50 2,n的二進位制是 0011 0010 3,0011 0010 左移...