ハミング距離

# gmp_hamdist

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

gmp_hamdist — ハミング距離

### 説明

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

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

### パラメータ

`num1`
  GMP オブジェクト、int、 あるいは数値として解釈可能な string。 文字列の場合、gmp_init() で基数を自動検出するとき (`base` に 0 を指定したとき) と同じ方法で解釈されます。

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

`num2`
  GMP オブジェクト、int、 あるいは数値として解釈可能な string。 文字列の場合、gmp_init() で基数を自動検出するとき (`base` に 0 を指定したとき) と同じ方法で解釈されます。

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

### 戻り値

`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

### 参考

- gmp_popcount() - セットされているビットの数
- gmp_xor() - ビット XOR を計算する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open