gmp_hamdist

ハミング距離

説明

int gmp_hamdist(GMPintstring $num1, GMPintstring $num2)

num1num2 の間のハミング距離を返します。オペランドは共に非負とする必要があります。

パラメータ

num1

GMP オブジェクト、整数、あるいは数値に変換可能な数値形式の文字列。

正の数である必要があります。

num2

GMP オブジェクト、整数、あるいは数値に変換可能な数値形式の文字列。

正の数である必要があります。

戻り値

num1num2 のハミング距離を int として返します。

例1 gmp_hamdist の例

<?php
$ham1 = gmp_init("1001010011", 2);
$ham2 = gmp_init("1011111100", 2);
echo gmp_hamdist($ham1, $ham2) . "\n";

/* ハミング距離は、以下と等しくなります */
echo gmp_popcount(gmp_xor($ham1, $ham2)) . "\n";
?>

上の例の出力は以下となります。

6
6

参考

  • gmp_popcount
  • gmp_xor