PHP 8.4.0 RC4 available for testing

gmp_hamdist

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_hamdistHamming distance

Açıklama

gmp_hamdist(GMP|int|string $num1, GMP|int|string $num2): int

Returns the hamming distance between num1 and num2. Both operands should be non-negative.

Bağımsız Değişkenler

num1

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

It should be positive.

num2

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

It should be positive.

Dönen Değerler

The hamming distance between num1 and num2, as an int.

Örnekler

Örnek 1 gmp_hamdist() example

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

/* hamdist is equivalent to: */
echo gmp_popcount(gmp_xor($ham1, $ham2)) . "\n";
?>

Yukarıdaki örneğin çıktısı:

6
6

Ayrıca Bakınız

add a note

User Contributed Notes 2 notes

up
4
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),' '))));
up
-1
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.
To Top