UTILS.
100% у браузері

Калькулятор відстані Гемінга

Підраховуйте позиції, у яких різняться два рядки, бітові рядки чи шістнадцяткові значення однакової довжини, з нормалізованою відстанню та підсвіченими розбіжностями.

результат

Про цей інструмент

Калькулятор відстані Гемінга підраховує позиції, у яких різняться два вводи однакової довжини — базову метрику кодів виявлення й виправлення помилок. Обидва вводи мають бути однакової довжини; якщо це не так, інструмент показує чітку помилку із зазначенням кожної довжини, а не вгадує вирівнювання. Він повідомляє сиру відстань, нормалізовану відстань (відстань ÷ довжина, від 0 до 1), довжину порівняння, кількість збіжних позицій і посимвольну різницю, що підсвічує кожну розбіжність червоним.

Три режими охоплюють поширені випадки. У текстовому режимі він порівнює рядки кодова точка за кодовою точкою, тож однакова довжина означає однакову кількість символів. У двійковому режимі він перевіряє, що кожен ввід містить лише 0 і 1 однакової довжини, і підраховує позиції бітів, що різняться — еквівалентно popcount їхнього XOR. У шістнадцятковому режимі він розбирає обидва вводи як шістнадцяткові однакової кількості цифр, XOR-ить їх по нібблах і підсумовує встановлені біти, даючи справжню бітову відстань Гемінга; довжина тут — це загальна кількість бітів (шістнадцяткові цифри × 4).

Обчислення чисте, детерміноване й повністю офлайн — ніщо з введеного не залишає ваш браузер. Відстань Гемінга використовується для вимірювання, скільки однобітних помилок розділяють два кодові слова, для порівняння хешів чи відбитків фіксованої довжини та в біоінформатиці для порівняння послідовностей однакової довжини. Оскільки вона потребує однакових довжин, використовуйте відстань редагування, коли рядки можуть різнитися довжиною.

Поширені запитання

Чому два вводи мають бути однакової довжини?
Відстань Гемінга визначена лише для послідовностей однакової довжини — вона порівнює позицію i одного з позицією i іншого. Якщо довжини різняться, канонічного вирівнювання немає, тож інструмент повідомляє помилку з обома довжинами. Для вводів різної довжини використовуйте відстань Левенштейна (редагування).
Що підраховує двійковий режим?
Він перевіряє, що обидва вводи є рядками з 0 і 1 однакової довжини, а потім підраховує позиції бітів, що різняться — те саме, що й кількість одиниць (кількість встановлених бітів) XOR двох бітових рядків.
Як шістнадцятковий режим обчислює відстань?
Кожна шістнадцяткова цифра — це ніббл (4 біти). Інструмент XOR-ить два значення цифра за цифрою й підсумовує встановлені біти по всіх нібблах, даючи бітову відстань Гемінга. Довжина для нормалізації — це загальна кількість бітів, тобто кількість шістнадцяткових цифр помножена на чотири.
Що таке нормалізована відстань?
Це сира відстань, поділена на довжину порівняння, значення від 0 (ідентичні) до 1 (кожна позиція різниться). Вона дозволяє порівнювати частоту розбіжностей для вводів різної довжини на одній шкалі 0–1.

Більше інструментів