ハミング距離

# gmp_hamdist

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

gmp_hamdist — ハミング距離

### 説明

gmp_hamdist ( GMP `$a` , GMP `$b` ) : int

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

### パラメータ

`a`

  PHP 5.5 以前での GMP 数リソース、PHP 5.6 以降での GMP オブジェクト、あるいは数値に変換可能な数値形式の文字列。

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

`b`

  PHP 5.5 以前での GMP 数リソース、PHP 5.6 以降での GMP オブジェクト、あるいは数値に変換可能な数値形式の文字列。

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

### 返り値

PHP 5.5 以前は GMP 数リソースを、そして PHP 5.6 以降は GMP オブジェクトを返します。

### 例

例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() - ビット XOR を計算する