gmp_hamdist
(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
gmp_hamdist — ハミング距離
説明
num1
と num2
の間のハミング距離を返します。オペランドは共に非負とする必要があります。
パラメータ
戻り値
num1
と num2
のハミング距離を 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
+add a note
User Contributed Notes 2 notes
Bas Vijfwinkel ¶
6 years ago
For those without gmp support :
$hamming_distance = count(array_diff_assoc(str_split($string1), str_split($string2)));
And if you are not sure if your strings have equal length :
$hamming_distance = count(array_diff_assoc(str_split(str_pad($string1,strlen($string2)-strlen($string1),' ')), str_split(str_pad($string2,strlen($string1)-strlen($string2),' '))));
grabzila at gmail dot com ¶
3 years ago
<?php
$hamdist = gmp_hamdist(-100, -10); // 4
$hamdist = gmp_hamdist(100, 10); // 5
?>
The function works great with negative numbers.
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google