DevConf 2015


(PHP 4 >= 4.0.4, PHP 5)

gmp_comCalculates one's complement


GMP gmp_com ( GMP $a )

Returns the one's complement of a.



Un număr GMP sub formă de resource în PHP 5.5 și anterior, un obiect GMP în PHP 5.6 și ultrior, su un șir de caractere numeric atunci când acesta poate fi convertit într-un număr.

Valorile întoarse

Returns the one's complement of a, as a GMP number.


Example #1 gmp_com() example

gmp_strval($com) . "\n";

Exemplul de mai sus va afișa:

add a note add a note

User Contributed Notes 1 note

xo at jdbartlett dot com
5 years ago
If you're using one's compliment (bitwise NOT) to flip all $a's bits, don't forget that you need to use a mask to specify how many bits you expect in your result:

<?php gmp_and(gmp_com('1234'), '2047') ?>
>> 813 // 01100101101 in binary

I chose 2047 because 1234 is an 11-bit binary number and 2047 is the maximum an 11-bit register can hold:

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