شو هي الأنظمة العددية؟
النظام العددي هو طريقة كتابة الأرقام حسب "أساس". إحنا منستعمل النظام العشري (الأساس 10، الخانات 0–9). الكمبيوتر بيشتغل بالنظام الثنائي (الأساس 2، الخانات 0 و1 بس)، والمبرمجين بيستعملوا الست عشري (الأساس 16، الخانات 0–9 وA–F) لأنو كل خانة فيه = 4 بتات بالضبط، فبيختصر الثنائي الطويل. والنظام الثماني (الأساس 8) لسا مستعمل بصلاحيات الملفات بلينكس متل chmod 755.
كيف بحوّل من الثنائي إلى العشري؟
اضرب كل خانة بـ 2 أس موقعها من اليمين (الموقع الأول 0) واجمع: 1011₂ = 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11. نفس الطريقة لأي أساس: بالست عشري FF = 15×16 + 15 = 255.
كيف بحوّل من العشري إلى الثنائي؟
اقسم العدد على 2 وسجّل الباقي، وكمّل قسمة الناتج لحتى يوصل صفر، وبعدين اقرأ البواقي من آخر واحد لأول واحد. مثلاً 13: 13÷2=6 باقي 1، 6÷2=3 باقي 0، 3÷2=1 باقي 1، 1÷2=0 باقي 1، فالنتيجة 1101. الأداة بتعرضلك الجدول كامل لأي عدد وأي أساس.
الأعداد السالبة ومتمم الاثنين
الأداة بتكتب السالب بإشارة ناقص (-101010 = -42)، متل الرياضيات. بس الكمبيوتر بيخزّن السالب بطريقة متمم الاثنين بعدد بتات ثابت: مثلاً -1 بـ 8 بت = 11111111 و-42 بـ 32 بت = 0xFFFFFFD6. افتح قسم "متمم الاثنين" لتشوفها.
أرقام بأي حجم
الأداة بتستعمل BigInt، فما بتخسر دقة مع الأرقام الكبيرة متل 2⁶⁴ = 18446744073709551616 (كتير أدوات بتطلّع رقم غلط بعد 16 خانة). وبتقبل البادئات 0x و0b و0o والمسافات و_ بين الخانات، والأرقام العربية ٠١٢٣.
تحويل نص إلى ثنائي
كل حرف بيتخزّن كبايت أو أكتر حسب ترميز UTF-8: الحرف الإنجليزي بايت واحد (نفس ASCII، مثلاً A = 65 = 01000001)، والحرف العربي بايتين (م = 11011001 10000101)، والإيموجي 4 بايتات.
أسئلة شائعة
- كيف أحول من العشري إلى الثنائي يدوياً؟
- اقسم العدد على 2 بشكل متكرر وسجّل الباقي (0 أو 1) كل مرة، وبعدين اقرأ البواقي من تحت لفوق. الأداة بتعرض جدول القسمة كامل لأي رقم.
- ما هو النظام الست عشري ولماذا يستخدم؟
- نظام أساسو 16 بيستعمل 0–9 وA–F. كل خانة فيه = 4 بتات، فبيكتب البايت بخانتين بس (FF = 255)، لهيك بينستعمل بالألوان (#FF8800) والعناوين بالذاكرة.
- هل يوجد حد لحجم العدد؟
- لأ تقريباً، الأداة بتستعمل أعداد صحيحة كبيرة (BigInt)، فبتحوّل أرقام بمئات الخانات بدقة كاملة. الكسور العشرية مش مدعومة.
- لماذا يأخذ الحرف العربي 16 بت وليس 8؟
- لأنو ترميز UTF-8 بيستعمل بايتين للحروف العربية، وبايت واحد بس للحروف الإنجليزية والأرقام.