PHP 位運算 按位非 (~)

在PHP中文手冊中說: $a(按位非) 將 $a 用二進制表示的操作數中的1變成0,0變成1

一開始我只簡單的理解爲:0變1,1變0。但後來發現並不是這樣簡單的理解。

看代碼:

$a = 2;
$b = ~$a;   
var_dump($b); //b=-3

$a = -2;
$b = ~$a;   
var_dump($b); //b=1

一個結論:在數值範圍內,~a = -(a+1)。

詳細解析過程涉及到計算機原碼,反碼,補碼的概念。請參見本人的另一篇博客



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章