UTILS.
۱۰۰٪ در مرورگر

محاسبه‌گر فاصله همینگ

موقعیت‌هایی را که دو رشته، رشته‌بیتی یا مقدار hex هم‌طول در آن‌ها تفاوت دارند بشمارید، با فاصله نرمال‌شده و یک diff برجسته‌شده عدم‌تطابق.

خروجی

درباره این ابزار

محاسبه‌گر فاصله همینگ موقعیت‌هایی را که دو ورودی هم‌طول در آن‌ها تفاوت دارند می‌شمارد — معیار اصلی پشت کدهای تشخیص و تصحیح خطا. هر دو ورودی باید هم‌طول باشند؛ اگر نباشند، این ابزار به‌جای حدس زدن یک تراز، یک خطای روشن با طول هر کدام نشان می‌دهد. این ابزار فاصله خام، فاصله نرمال‌شده (فاصله ÷ طول، از 0 تا 1)، طول مقایسه، تعداد موقعیت‌های منطبق، و یک diff موقعیت‌به‌موقعیت که هر عدم‌تطابق را به رنگ قرمز برجسته می‌کند گزارش می‌دهد.

سه حالت موارد رایج را پوشش می‌دهند. در حالت متن، رشته‌ها را code point به code point مقایسه می‌کند، بنابراین هم‌طول بودن یعنی همان تعداد کاراکتر. در حالت باینری اعتبارسنجی می‌کند که هر ورودی تنها شامل 0 و 1 هم‌طول باشد و موقعیت‌های بیتی متفاوت را می‌شمارد — معادلاً popcount مربوط به XOR آن‌ها. در حالت hex هر دو ورودی را به‌عنوان مبنای شانزده هم‌طول (به رقم) تجزیه می‌کند، آن‌ها را nibble به nibble XOR می‌کند، و بیت‌های ست‌شده را جمع می‌زند و فاصله همینگ واقعی در سطح بیت را می‌دهد؛ طول در اینجا کل تعداد بیت‌هاست (ارقام hex × 4).

محاسبه خالص، قطعی و کاملاً آفلاین است — هیچ چیزی که وارد می‌کنید از مرورگر شما خارج نمی‌شود. فاصله همینگ برای اندازه‌گیری اینکه چند خطای تک‌بیتی دو codeword را جدا می‌کند، برای مقایسه هش‌ها یا اثرانگشت‌های هم‌طول، و در بیوانفورماتیک برای مقایسه دنباله‌های هم‌طول استفاده می‌شود. چون به هم‌طولی نیاز دارد، وقتی رشته‌ها می‌توانند طول متفاوت داشته باشند به‌جای آن از فاصله ویرایش (edit distance) استفاده کنید.

پرسش‌های پرتکرار

چرا دو ورودی باید هم‌طول باشند؟
فاصله همینگ تنها برای دنباله‌های هم‌طول تعریف شده است — موقعیت i یکی را با موقعیت i دیگری مقایسه می‌کند. اگر طول‌ها متفاوت باشند تراز متعارفی وجود ندارد، بنابراین این ابزار یک خطا با هر دو طول گزارش می‌دهد. برای ورودی‌های با طول متفاوت به‌جای آن از فاصله لِوِنشتاین (ویرایش) استفاده کنید.
حالت باینری چه چیزی را می‌شمارد؟
اعتبارسنجی می‌کند که هر دو ورودی رشته‌هایی از 0 و 1 و هم‌طول باشند، سپس موقعیت‌های بیتی متفاوت را می‌شمارد — همان population count (تعداد بیت‌های ست‌شده) مربوط به XOR دو رشته‌بیتی.
حالت hex چگونه فاصله را محاسبه می‌کند؟
هر رقم hex یک nibble است (4 بیت). این ابزار دو مقدار را رقم به رقم XOR می‌کند و بیت‌های ست‌شده را در همه nibbleها جمع می‌زند و فاصله همینگ در سطح بیت را می‌دهد. طولی که برای نرمال‌سازی استفاده می‌شود کل تعداد بیت است، یعنی تعداد ارقام hex ضربدر چهار.
فاصله نرمال‌شده چیست؟
فاصله خام تقسیم بر طول مقایسه است، مقداری بین 0 (یکسان) و 1 (هر موقعیت متفاوت). این به شما اجازه می‌دهد نرخ عدم‌تطابق را در ورودی‌های با طول متفاوت روی همان مقیاس 0–1 مقایسه کنید.

ابزارهای بیشتر