PHP | gmp_xor() Function

The gmp_xor() is an in-built function in PHP which is used to calculate the XOR of 2 GMP numbers (GNU Multiple Precision : For large numbers).

Syntax:

gmp_xor( $num1, $num2 )

Parameters: This function accepts two GMP numbers $num1 and $num2 as mandatory parameters shown in the above syntax. These parameters can be a GMP object in PHP version 5.6 and later, or we are also allowed to pass a numeric string provided that it is possible to convert that string to a number.

Return Value: This function returns a positive GMP number which is the XOR of $num1 and $num2.

Examples:



Input : $num1 = "3" $num2 = "5"
Output : 6

Input : $num1 = 1 $num2 = 1
Output : 0 

Below programs illustrate the gmp_xor() function:

Program 1: The program calculates the XOR of two numbers when numeric strings as GMP numbers are passed as arguments.

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP program to calculate the XOR 
// of two numbers using gmp_xor() 
  
// numeric string passed as arguments 
$xor = gmp_xor("3", "5"); 
  
// prints the GMP number which xor 
// of two numeric strings 
echo $xor;
   
?>

chevron_right


Output:

6

Program 2: The program calculates the XOR of two numbers when GMP numbers are passed as arguments.

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP program to calculate XOR 
// of two numbers 
  
// GMP numbers passed as arguments 
$xor1 = gmp_init("1101101110", 2);
$xor2 = gmp_init("0110011001", 2);
  
// function calculates the XOR of two numbers 
$xor3 = gmp_xor($xor1, $xor2);
  
// prints the GMP number which is the 
// XOR of two GMP numbers 
// gmp_strval Convert GMP number to string
//  representation in given base(default 10).
echo gmp_strval($xor3, 2);
?>

chevron_right


Output:

1011110111

Reference:
http://php.net/manual/en/function.gmp-xor.php

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.