حوّل الأعداد الصحيحة بين أي أساس من 2 إلى 64. ثنائي، ثماني، عشري، سداسي عشري، base36، base58 وbase64 دفعة واحدة، مع دعم دقة تعسفية عبر BigInt.
حوّل عددًا صحيحًا بين أي أساسين من 2 إلى 64. أدخل قيمة، واختر الأساس الذي كُتبت به، وستتحدث كل التمثيلات الشائعة فورًا. يستخدم التحويل JavaScript BigInt، لذا تحتفظ الأعداد الأكبر بكثير من 2^53 بدقة كاملة.
فهم أنظمة الأساس الموضعية
ما معنى الأساس فعليًا
في النظام الموضعي يخبرك الأساس (أو الجذر) بكم تساوي كل منزلة. في الأساس 10 تعني أرقام 237 أن 2x100 + 3x10 + 7x1. في الأساس 16 تعني نفس سلسلة الأرقام 2x256 + 3x16 + 7 = 567. لا يتغير شيء في العدد عند تحويله، بل تتغير الترميز فقط.
الأبجدية الرقمية
يحتاج نظام الأساس-N إلى N رمزًا مميزًا. تغطي الأرقام 0-9 العشرة الأولى، ثم تأخذ الحروف الدور: a هي 10، وb هي 11، وهكذا حتى z عند 35. فوق الأساس 36 تستمر الأبجدية بالأحرف الكبيرة وأخيرًا + و/، وهذا هو الترتيب الذي تستخدمه هذه الأداة. تُعامل الأساسات حتى 36 دون حساسية لحالة الأحرف لأن ذلك هو الاصطلاح شبه الشامل؛ فوق 36 تصبح حالة الأحرف مهمة.
أين يظهر كل أساس
الأساس 2 يطابق مباشرة عتاد الحاسوب. من السهل التفكير في محتويات المسجلات وأقنعة البتات وأعلام الصلاحيات في النظام الثنائي.
الأساس 8 يجمع البتات في ثلاثات، ولهذا السبب بالتحديد تكون أوضاع ملفات Unix مثل 755 ثمانية.
الأساس 16 يجمع البتات في رباعيات، لذا تساوي كل خانة سداسية عشرية nibble واحدًا. عناوين الذاكرة وأكواد الألوان والتجزئات تستخدمه جميعًا.
الأساس 36 هو أكثف أساس ينجو من الأنظمة الحساسة لحالة الأحرف مثل تسميات DNS.
الأساس 58 هو الأساس 62 ناقص الأحرف التي يسهل قراءتها خطأ: 0 وO وI وl. تستخدمه عناوين بيتكوين والعديد من خدمات الروابط المختصرة.
الأساس 64 يرمّز ثلاثة بايتات إلى أربعة أحرف قابلة للطباعة وهو الطريقة القياسية لنقل البيانات الثنائية عبر قنوات نصية فقط.
الدقة
تفقد أرقام JavaScript الأصلية دقتها فوق 2^53. يعمل هذا المحول بالكامل مع BigInt، لذا تتحول قيمة عشرية من 200 خانة إلى ثنائي دون تقريب صامت. القيم السالبة مدعومة؛ تُحافظ على علامة الطرح البادئة عبر كل الأساسات.
الأسئلة الشائعة
لماذا يتخطى الأساس 58 بعض الأحرف؟
يحذف الأساس 58 عمدًا 0 وO وI وl لأنها تُخلط بسهولة في الشكل المطبوع أو المكتوب بخط اليد. وهذا يجعل العناوين أكثر أمانًا للنسخ يدويًا، ولهذا اعتمدتها بيتكوين.
هل base64 هنا هو نفسه base64 المستخدم في مرفقات البريد الإلكتروني؟
لا. تعامل هذه الأداة الأساس 64 كنظام عد موضعي لعدد صحيح واحد. يعمل ترميز المرفقات (RFC 4648) على تدفقات البايت ويضيف حشوًا بـ '='. استخدم أداة Base64 لذلك.
هل يمكنني تحويل أعداد كبيرة جدًا؟
نعم. كل شيء يعمل عبر BigInt، لذا تتحول المئات من الأرقام بدقة تامة. لا يوجد تقريب صامت عند 2^53 كما يحدث مع أرقام JavaScript العادية.
هل الإدخال حساس لحالة الأحرف؟
بالنسبة للأساسات حتى 36، ليس كذلك: 'FF' و'ff' كلاهما يعني 255 بالنظام السداسي عشري. من الأساس 37 فصاعدًا، الأحرف الكبيرة والصغيرة رموز مميزة، لذا تهم حالة الأحرف.
كيف أحول عددًا سالبًا؟
فقط أضف علامة الطرح في البداية. تُنقل العلامة إلى كل أساسات الإخراج. تمثيل المتمم الثنائي (two's-complement) مفهوم منفصل ولا يُطبَّق هنا.
هل يُرسل أي شيء إلى خادم؟
لا. يعمل التحويل بالكامل في متصفحك، لذا لا تغادر القيم التي تكتبها جهازك أبدًا.