如果您使用一補數(位元反轉)來反轉 $a 的所有位元,別忘了您需要使用遮罩來指定您預期的結果有多少位元
<?php gmp_and(gmp_com('1234'), '2047') ?>
>> 813 // 二進位表示為 01100101101
我選擇 2047 是因為 1234 是一個 11 位元的二進位數字,而 2047 是一個 11 位元暫存器所能容納的最大值
11111111111 (2047)
10011010010 (1234)
01100101101 (813)
(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
gmp_com — 計算一的補數
返回 num
的一補數,以 GMP 數字表示。
範例 #1 gmp_com() 範例
<?php
$com = gmp_com("1234");
echo gmp_strval($com) . "\n";
?>
以上範例會輸出:
-1235
如果您使用一補數(位元反轉)來反轉 $a 的所有位元,別忘了您需要使用遮罩來指定您預期的結果有多少位元
<?php gmp_and(gmp_com('1234'), '2047') ?>
>> 813 // 二進位表示為 01100101101
我選擇 2047 是因為 1234 是一個 11 位元的二進位數字,而 2047 是一個 11 位元暫存器所能容納的最大值
11111111111 (2047)
10011010010 (1234)
01100101101 (813)