當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP gmp_hamdist()用法及代碼示例


gmp_hamdist()是PHP中的內置函數,用於查找兩個GMP數字之間的漢明距離(GNU多精度:適用於大數)。

兩個數字之間的漢明距離定義為二進製表示的mis-matching位的數量。

用法:


gmp_hamdist ( $num1, $num2)

參數:此函數接受兩個GMP數字$num1和$num2,如上麵的語法所示。這兩個參數都是強製傳遞的,並且必須為正。此函數查找兩個數字$num1和$num2之間的漢明距離。這些參數可以是PHP 5.6和更高版本中的GMP對象,或者也可以傳遞數字字符串,隻要可以將該字符串轉換為數字即可。

返回值:此函數返回一個GMP數字,該數字是作為參數傳遞給它的兩個數字的計算漢明距離。

例子:

Input:  $a = "3", $b = "11"
Output: 1
Explanation: Binary representation of 3 is 0011
Binary representation of 11 is 1011. So, they 
differ by only 1 bit.

Input:  $a = "4", $b = "4"
Output: 0

以下示例程序旨在說明PHP中的gmp_hamdist()函數:

程序1:程序將數字字符串作為GMP數字作為參數傳遞時計算漢明距離。

<?php 
// PHP program to calculate hamming distance 
   
// strings as GMP numbers  
$a = "3"; 
$b = "11"; 
   
// calculates the hamming distance 
$hamDist = gmp_hamdist($a, $b); 
echo $hamDist."\n"; 
   
// calculates the hamming distance 
$a = "4"; $b = "4"; 
$hamDist = gmp_hamdist($a, $b); 
echo $hamDist."\n"; 
   
?>

輸出:

4
12

程序2:程序將GMP編號作為參數傳遞時計算漢明距離。

<?php 
// PHP program to calculate hamming distance 
   
// creating GMP numbers using gmp_init()  
$a = gmp_init("11", 2); // 3 in decimal 
$b = gmp_init("1011", 2); // 11 in decimal 
   
// calculates the hamming distance 
$hamDist = gmp_hamdist($a, $b); 
echo $hamDist."\n"; 
   
// calculates the hamming distance 
$a = gmp_init("100", 2); 
$b = gmp_init("100", 2); 
$hamDist = gmp_hamdist($a, $b); 
echo $hamDist."\n"; 
   
?>

輸出:

1
0

參考:
http://php.net/manual/en/function.gmp-hamdist.php



相關用法


注:本文由純淨天空篩選整理自barykrg大神的英文原創作品 PHP | gmp_hamdist() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。