略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: gmp_hamdist

2024-05-03

gmp_hamdist

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

gmp_hamdistHamming distance

说明

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.

参数

num1

GMP 对象或 int ,或数字string

It should be positive.

num2

GMP 对象或 int ,或数字string

It should be positive.

返回值

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

范例

示例 #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";
?>

以上例程会输出:

6
6

参见

add a noteadd a note

User Contributed Notes 2 notes

up
4
Bas Vijfwinkel
4 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
0
grabzila at gmail dot com
1 year ago
<?php
$hamdist
= gmp_hamdist(-100, -10); // 4
$hamdist = gmp_hamdist(100, 10);  // 5
?>

The function works great with negative numbers.

官方地址:https://www.php.net/manual/en/function.gmp-hamdist.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3