gmp_hamdist

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

gmp_hamdistDistância de Hamming

Descrição

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

Retorna a distância de Hamming entre num1 e num2. Ambos argumentos devem ser positivos.

Parâmetros

num1

Um objeto GMP, um int ou uma string numérica.

Tem que ser positivo.

num2

Um objeto GMP, um int ou uma string numérica.

Tem que ser positivo.

Valor Retornado

A distância de Hamming entre num1 e num2, do tipo int.

Exemplos

Exemplo #1 Exemplo de gmp_hamdist()

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

/* a distância de Hamming é equivalente a : */
echo gmp_popcount(gmp_xor($ham1, $ham2)) . "\n";
?>

O exemplo acima produzirá:

6
6

Veja Também

add a note 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