UTILS.
100% w przeglądarce

Kalkulator odległości Hamminga

Policz pozycje, na których dwa ciągi, ciągi bitów lub wartości szesnastkowe o równej długości różnią się, z odległością znormalizowaną i podświetloną różnicą.

wynik

O tym narzędziu

Kalkulator odległości Hamminga liczy pozycje, na których dwa dane wejściowe o równej długości różnią się — podstawowa miara stojąca za kodami wykrywającymi i korygującymi błędy. Oba dane wejściowe muszą mieć tę samą długość; jeśli nie, narzędzie pokazuje wyraźny błąd z każdą długością, zamiast zgadywać wyrównanie. Raportuje surową odległość, znormalizowaną odległość (odległość ÷ długość, od 0 do 1), długość porównania, liczbę pasujących pozycji oraz różnicę pozycja po pozycji, która podświetla każdą niezgodność na czerwono.

Trzy tryby pokrywają typowe przypadki. W trybie tekstowym porównuje ciągi punkt kodowy po punkcie kodowym, więc równa długość oznacza tę samą liczbę znaków. W trybie binarnym sprawdza, czy każde dane wejściowe zawiera tylko zera i jedynki o równej długości, i liczy różniące się pozycje bitów — równoważnie popcount ich XOR. W trybie szesnastkowym analizuje oba dane wejściowe jako liczby szesnastkowe o równej długości cyfr, wykonuje XOR półbajt po półbajcie i sumuje ustawione bity, dając prawdziwą odległość Hamminga na poziomie bitów; długość jest tutaj całkowitą liczbą bitów (cyfry hex × 4).

Obliczenie jest czyste, deterministyczne i w pełni offline — nic, co wprowadzisz, nie opuszcza Twojej przeglądarki. Odległość Hamminga służy do mierzenia, ile jednobitowych błędów oddziela dwa słowa kodowe, do porównywania haszy lub odcisków o stałej długości oraz w bioinformatyce do porównywania sekwencji o równej długości. Ponieważ wymaga równych długości, użyj zamiast tego odległości edycyjnej, gdy ciągi mogą różnić się długością.

Najczęściej zadawane pytania

Dlaczego oba dane wejściowe muszą mieć tę samą długość?
Odległość Hamminga jest zdefiniowana tylko dla sekwencji o równej długości — porównuje pozycję i jednej z pozycją i drugiej. Jeśli długości się różnią, nie ma kanonicznego wyrównania, więc narzędzie zgłasza błąd z obiema długościami. Dla danych wejściowych o różnych długościach użyj zamiast tego odległości Levenshteina (edycyjnej).
Co liczy tryb binarny?
Sprawdza, czy oba dane wejściowe są ciągami zer i jedynek o równej długości, a następnie liczy pozycje bitów, które się różnią — to samo co liczba populacji (liczba ustawionych bitów) XOR obu ciągów bitów.
Jak tryb szesnastkowy oblicza odległość?
Każda cyfra szesnastkowa to półbajt (4 bity). Narzędzie wykonuje XOR obu wartości cyfra po cyfrze i sumuje ustawione bity we wszystkich półbajtach, dając odległość Hamminga na poziomie bitów. Długość używana do normalizacji to całkowita liczba bitów, czyli liczba cyfr szesnastkowych razy cztery.
Czym jest znormalizowana odległość?
To surowa odległość podzielona przez długość porównania, wartość między 0 (identyczne) a 1 (każda pozycja się różni). Pozwala porównywać wskaźniki niezgodności między danymi wejściowymi o różnych długościach na tej samej skali 0–1.

Więcej narzędzi