PHP Conference Japan 2024

gmp_com

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_com計算一的補數

說明

gmp_com(GMP|int|string $num): GMP

傳回 num 的一的補數。

參數

num

一個 GMP 物件、一個 整數,或是一個可以被解釋為數字的 字串,其邏輯如同將該字串用於 gmp_init() 並啟用自動進位偵測(即 base 參數等於 0 時)。

返回值

返回 num 的一補數,以 GMP 數字表示。

範例

範例 #1 gmp_com() 範例

<?php
$com
= gmp_com("1234");
echo
gmp_strval($com) . "\n";
?>

以上範例會輸出:

-1235
新增註釋

使用者貢獻的註釋 1 則註釋

xo at jdbartlett dot com
14 年前
如果您使用一補數(位元反轉)來反轉 $a 的所有位元,別忘了您需要使用遮罩來指定您預期的結果有多少位元

<?php gmp_and(gmp_com('1234'), '2047') ?>
>> 813 // 二進位表示為 01100101101

我選擇 2047 是因為 1234 是一個 11 位元的二進位數字,而 2047 是一個 11 位元暫存器所能容納的最大值

11111111111 (2047)
10011010010 (1234)
01100101101 (813)
To Top