محوّل الأسس (القواعد العددية)
التحويلتحويل الأعداد الصحيحة بين الأسس ٢–٦٢ باستخدام BigInt، فحتى الأعداد الكبيرة جدًا تحافظ على دقتها الكاملة.
- عشري
في هذه الصفحة
ما هو محوّل الأسس (القواعد العددية)؟#
كل عدد صحيح هو العدد ذاته؛ لا يتغيّر سوى تهجّيه بتغيُّر الأساس. القيمة 255 بالعشري، وff بالسداسي عشر، و11111111 بالثنائي، و377 بالثُماني هي أربع سلاسل للكمّية ذاتها تمامًا. يحوّل محوّل الأسس تهجّيةً إلى أخرى — وسبب استحقاقه أن يكون أداةً فعلية لا مجرّد parseInt هو أنّ Number في JavaScript يفقد الدقة بصمت بعد 2^53 (نحو 16 رقمًا عشريًا)، فتحويل مُعرِّف 64-بِت مثل 18446744073709551616 بـ Number المجرّد يُعيد لك عددًا مختلفًا دون تحذير.
هذه الصفحة مدعومة بـ BigInt من طرف إلى طرف، فيحافظ أي عدد صحيح بأي حجم على دقته الكاملة عبر كل تحويل. وهي تدعم الأسس من 2 إلى 62 باستخدام أبجدية الأرقام المعيارية 0-9 ثم a-z ثم A-Z. وللراحة، الأسس من 2 إلى 36 غير حساسة لحالة الأحرف (يمكنك كتابة FF للقيمة 255 سداسيًا)، بينما الأسس من 37 إلى 62 حساسة لحالة الأحرف — لأنّ a الصغيرة وA الكبيرة في الأساس 62 رقمان مختلفان فعلًا (10 و36).
كيفية الاستخدام#
- اكتب القيمة المطلوب تحويلها. يبدأ بالقيمة
255. - اضبط من الأساس على الأساس المكتوبة به قيمتك حاليًا (تقدّم القوائم المنسدلة الأساس من 2 إلى 62؛ الافتراضي 10، عشري).
- اضبط إلى الأساس على الأساس المطلوب (الافتراضي 16، سداسي عشر). السهم بينهما مجرّد إشارة بصرية.
- يعرض مربع الإخراج التهجّية المحوّلة مباشرة، ويعرض صف عشري أسفله القيمة ذاتها بالأساس 10 — فحصٌ عملي حين تحوّل بين أسسين غير مألوفَين.
- يُعيد مثال تحميل الافتراضي، ويُفرغ مسح الحقل. يُبلَّغ عن أي رقم غير صالح للأساس المختار في سطر الحالة (كتابة
8في الأساس 8، أوgفي الأساس 16، لن تُنتج هراءً بصمت).
الميزات الرئيسية#
- دقة BigInt. يجري التحويل على أعداد صحيحة بدقة غير محدودة، فيعود
2^64وما يكبر ذهابًا وإيابًا مضبوطًا. لا هاوية عند 2^53 ولا تقريب فاصلة عائمة. - الأسس من 2 إلى 62. يغطّي الثنائي والثُماني والعشري والسداسي عشر وbase32 وbase36 وأبجديات بنمط base58 وbase62 الكامل — النطاق الذي تستخدمه الأنظمة الواقعية فعلًا.
- تحليل يراعي حالة الأحرف. الأسس من 2 إلى 36 تقبل أي حالة للراحة؛ والأسس من 37 إلى 62 تعتبر الحالة جوهرية فتبقى
aوAرقمَين متمايزَين، مطابقةً للأبجدية المعيارية ذات 62 رمزًا. - يحتمل شرطات التسطير بين مجموعات الأرقام. يمكنك لصق
1_000فتُقرأ1000— الاصطلاح ذاته الذي تستخدمه لغات برمجة كثيرة لتحسين القراءة. - يراعي الإشارة. تُحوَّل القيم السالبة صحيحةً؛ ويُحفظ إشارة السالب عبر كل أساس.
مثال عملي#
بالقيمة الافتراضية 255، ومن الأساس 10، وإلى الأساس 16، تُظهر اللوحة:
Output: ff
Decimal: 255
بدّل إلى الأساس إلى 2 فتحصل على 11111111 — ثمانية بِت، القيمة التي تتّسع تمامًا في بايت واحد، ولهذا يُعدّ ff مألوفًا بهذا الشكل في أكواد الألوان وملخّصات البايتات.
ويظهر السبب الحقيقي لـ BigInt مع قيمة 64-بِت. اكتب 18446744073709551616 (وهو 2^64)، من الأساس 10، إلى الأساس 16:
Output: 10000000000000000
Decimal: 18446744073709551616
هذا 1 يتبعه ستة عشر صفرًا — تحديدًا 2^64 بالسداسي عشر. محوّل مبني على Number في JavaScript كان سيُقرّب المُدخل إلى 18446744073709552000 قبل أن يبدأ، ولما انتبهت أصلًا. أعده ذهابًا وإيابًا إلى من الأساس 16 / إلى الأساس 10 فيعود العشري الأصلي دون تغيُّر، وهو الاختبار الذي يثبت عدم فقدان أي دقة.
الأسئلة الشائعة#
لماذا يعمل FF للسداسي عشر لكن لا للأساس 62؟#
الأسس من 2 إلى 36 تتشارك نطاق حروف واحدًا (a–z، مرتبطًا بـ 10–35)، فلا تهمّ الحالة وتكون FF = ff = 255. ومن الأساس 37 فما فوق تحتاج الأبجدية أكثر من 26 حرفًا، فتمتدّ إلى الأحرف الكبيرة: a=10، b=11 … z=35، A=36، B=37 … Z=61. حالما تُستخدم كلتا الحالتَين، تصبح a وA رقمَين مختلفين، فيجب على المحلّل الحفاظ على الحالة.
ماذا يحدث لو كتبت رقمًا غير صالح للأساس؟#
تحصل على خطأ واضح، لا إجابة خاطئة. تُرفَض كتابة 8 أو9 مع ضبط من الأساس على 8 (ثُماني)، أوg مع ضبط من الأساس على 16 (سداسي عشر)، لأنّ تلك المحارف ليست أرقامًا قانونية في ذلك الأساس. يُخبرك سطر الحالة بالمحرف المُخطئ.
لماذا تعرض الأداة صف «عشدي» حين أحوّل إلى أساس آخر؟#
لأنّ العشري هو الأساس الذي يفكّر به البشر، فهو الفحص الطبيعي. إن حوّلت رمز الأساس 58 q إلى الأساس 16 ورأيت 1a، فيتيح لك صف عشدي (26) أن تتأكّد «نعم، الرمز رقم 58 تقريبًا فعلًا يعني ستةً وعشرين» دون إجراء الحساب بنفسك.
هل يتعامل مع الأعداد الكسرية مثل 3.14؟#
لا — يعمل هذا المحوّل على الأعداد الصحيحة فقط. تحويل الأساس للجزء الكسري مشكلة مختلفة (يُنتج تمديدات متكررة لانهائية في معظم الأسس، كما يفعل 1/3 بالعشري)، اقتطاعه بصمت يكون مضلِّلًا. أما قيم الأعداد الصحيحة بأي حجم فالتحويل فيها مضبوط وفوري.