UTILS.
100% in de browser

Hamming-afstandcalculator

Tel de posities waar twee strings, bitstrings of hexwaarden van gelijke lengte verschillen, met een genormaliseerde afstand en een gemarkeerde verschil-diff.

uitvoer

Over deze tool

De Hamming-afstandcalculator telt de posities waarop twee invoeren van gelijke lengte verschillen — de kernmetriek achter foutdetecterende en foutcorrigerende codes. Beide invoeren moeten even lang zijn; zo niet, dan toont de tool een duidelijke fout met elke lengte in plaats van naar een uitlijning te gissen. Hij meldt de ruwe afstand, de genormaliseerde afstand (afstand ÷ lengte, van 0 tot 1), de vergelijkingslengte, het aantal overeenkomende posities, en een diff per positie die elke mismatch in rood markeert.

Drie modi dekken de gangbare gevallen. In tekstmodus vergelijkt hij de strings codepunt voor codepunt, zodat gelijke lengte hetzelfde aantal tekens betekent. In binaire modus valideert hij dat elke invoer alleen 0'en en 1'en van gelijke lengte bevat en telt de verschillende bitposities — equivalent aan de popcount van hun XOR. In hexmodus parseert hij beide invoeren als hexadecimaal van gelijke cijferlengte, XORt ze nibble voor nibble en telt de gezette bits op, wat de echte Hamming-afstand op bitniveau geeft; de lengte is hier het totale aantal bits (hexcijfers × 4).

De berekening is puur, deterministisch en volledig offline — niets van wat je invoert verlaat je browser. Hamming-afstand wordt gebruikt om te meten hoeveel enkelbitfouten twee codewoorden scheiden, om vaste-lengte hashes of vingerafdrukken te vergelijken, en in de bio-informatica om sequenties van gelijke lengte te vergelijken. Omdat het gelijke lengtes vereist, gebruik je edit-afstand wanneer de strings in lengte kunnen verschillen.

Veelgestelde vragen

Waarom moeten de twee invoeren even lang zijn?
Hamming-afstand is alleen gedefinieerd voor sequenties van gelijke lengte — hij vergelijkt positie i van de ene met positie i van de andere. Als de lengtes verschillen is er geen canonieke uitlijning, dus de tool meldt een fout met beide lengtes. Voor invoeren van verschillende lengte gebruik je in plaats daarvan Levenshtein-(edit-)afstand.
Wat telt de binaire modus?
Hij valideert dat beide invoeren strings van 0'en en 1'en van gelijke lengte zijn, en telt dan de bitposities die verschillen — hetzelfde als de population count (aantal gezette bits) van de XOR van de twee bitstrings.
Hoe berekent de hexmodus de afstand?
Elk hexcijfer is een nibble (4 bits). De tool XORt de twee waarden cijfer voor cijfer en telt de gezette bits over alle nibbles op, wat de Hamming-afstand op bitniveau geeft. De lengte die voor normalisatie wordt gebruikt is het totale aantal bits, d.w.z. het aantal hexcijfers maal vier.
Wat is de genormaliseerde afstand?
Dat is de ruwe afstand gedeeld door de vergelijkingslengte, een waarde tussen 0 (identiek) en 1 (elke positie verschilt). Het laat je mismatchpercentages vergelijken over invoeren van verschillende lengte op dezelfde 0–1-schaal.

Meer tools