UTILS.
‎100%‎ داخل المتصفح
🔢

محوّل المتمم الثنائي

حوّل الأعداد الصحيحة ذات الإشارة من/إلى ثنائي وسداسي المتمم الثنائي بعرض 4 أو 8 أو 16 أو 32 أو 64 بت، مع المتمم الأحادي والتفسير غير الموقّع.

أدخِل رقماً أو نمط بتات أعلاه.

حول هذه الأداة

يرمّز محوّل المتمم الثنائي عدداً صحيحاً موقّعاً إلى تمثيله الثنائي والسداسي بالمتمم الثنائي بعرض بت تختاره (4 أو 8 أو 16 أو 32 أو 64 بت)، ويفك ترميز نمط ثنائي أو سداسي إلى القيمة الموقّعة التي يمثّلها. يستخدم BigInt طوال الوقت، فتُعالَج قيم 64 بت بدقة تامة دون فقدان دقة.

لعرض من N بت يكون النطاق الموقّع من −2^(N−1) إلى 2^(N−1)−1. لترميز عشري d: إذا كان d غير سالب فالنمط هو d ببساطة؛ وإذا كان d سالباً فالنمط هو 2^N + d (أو بشكل مكافئ، اقلب كل بتات |d| وأضِف 1). تُخرِج الأداة الثنائي المبطّن بالأصفار من N بت، والسداسي من N/4 خانة، والمتمم الأحادي (NOT البتّي)، والتفسير غير الموقّع للبتات نفسها، وتوسم خطأ فيض عندما لا تتّسع قيمة للعرض المختار.

لفك الترميز، الصِق نمطاً ثنائياً أو سداسياً فتقرأ الأداة بته الأعلى: إذا كان البت الأكثر دلالة مضبوطاً فالقيمة هي pattern − 2^N (سالبة)، وإلا فهي النمط نفسه. تُظهر دائماً القراءتين الموقّعة وغير الموقّعة جنباً إلى جنب، وهو بالضبط الالتباس الذي يحلّه المتمم الثنائي على المستوى العتادي. كل الحسابات محلية في متصفحك.

الأسئلة الشائعة

ما النطاق لكل عرض بت؟
عرض من N بت يمثّل قيماً موقّعة من −2^(N−1) إلى 2^(N−1)−1. فـ 8 بت يمتد من −128 إلى 127، و16 بت من −32768 إلى 32767، و32 بت نحو ±2.1 مليار. القيم خارج النطاق تطلق تحذير فيض.
كيف يُرمَّز العدد السالب؟
خذ القيمة المطلقة، اقلب كل بت (المتمم الأحادي)، وأضِف 1. أو بشكل مكافئ يساوي النمط 2^N زائد العدد السالب. فمثلاً −1 في 8 بت هو 11111111، و−42 هو 11010110.
لماذا تُظهر القيمة غير الموقّعة أيضاً؟
نمط البتات نفسه له قراءتان: موقّعة (متمم ثنائي) وغير موقّعة. إظهار كليهما يوضّح أن، مثلاً، نمط 8 بت 11111111 هو −1 موقّعاً لكن 255 غير موقّع — ويعتمد التفسير على كيفية معاملة العتاد له.
هل يتعامل مع قيم 64 بت بدقة؟
نعم. يستخدم المحوّل حساب BigInt عالي الدقة، فتُحسَب أنماط 64 بت وقيمها الموقّعة بدقة دون التقريب الذي كانت ستُدخِله أرقام JavaScript العادية فوق 2^53.

المزيد من الأدوات