在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)。
詳細解析過程涉及到計算機原碼,反碼,補碼的概念。請參見本人的另一篇博客
在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)。
詳細解析過程涉及到計算機原碼,反碼,補碼的概念。請參見本人的另一篇博客