Numbering Systems (أنظمة العد)
Decimal (Base 10)
الأرقام: 0-9
نظام البشر
Binary (Base 2)
الأرقام: 0, 1
لغة الآلة
Octal (Base 8)
الأرقام: 0-7
تجميع 3 بت
Hexadecimal (Base 16)
0-9, A, B, C, D, E, F
تجميع 4 بت
Conversions (التحويلات)
من عشري إلى أنظمة أخرى (القسمة)
للتحويل من Base 10 إلى أي نظام، نستخدم القسمة المتكررة ونأخذ الباقي (Remainder) من الأسفل للأعلى.
42 / 2 = 21 (rem 0) LSB
21 / 2 = 10 (rem 1)
10 / 2 = 5 (rem 0)
5 / 2 = 2 (rem 1)
2 / 2 = 1 (rem 0)
1 / 2 = 0 (rem 1) MSB
Result: 101010
الكسور (Fractions)
للتحويل من عشري (كسر) إلى ثنائي، نستخدم الضرب المتكرر ونأخذ العدد الصحيح.
0.6875 x 2 = 1.375 → take 1
0.375 x 2 = 0.75 → take 0
0.75 x 2 = 1.5 → take 1
0.5 x 2 = 1.0 → take 1 (Stop)
Result: 0.1011
Signed Integers (الأعداد ذات الإشارة)
| الطريقة (Method) | كيفية تمثيل السالب | مشكلة الصفر (Zeros) | مثال (-5 in 8-bit) |
|---|---|---|---|
| Sign-and-Magnitude | البت الأيسر للإشارة (1 سالب، 0 موجب). | يوجد صفرين (+0, -0) | 10000101 |
| 1's Complement | اقلب كل البتات (0 يصبح 1 والعكس). | يوجد صفرين (+0, -0) | 11111010 |
| 2's Complement (الأهم) | اقلب البتات + 1. | صفر واحد فقط (Perfect) | 11111011 |
ملاحظة هامة عن Overflow:
الـ Overflow يحدث عندما نجمع رقمين لهما نفس الإشارة وتكون النتيجة بإشارة مختلفة.
مثال: موجب + موجب = سالب (خطأ/Overflow).
Floating Point (IEEE 754)
32-bit Single Precision Format
Actual Exponent = E - 127.
هناك "1" مخفي دائماً (Implicit 1).
كيف تجد 2's Complement بسرعة؟
لا تقلب وتجمع 1 (طريقة طويلة).
الطريقة السريعة:
امشِ من اليمين لليسار. اترك أول "أصفار" واترك "أول واحد" كما هو.. ثم اقلب كل البتات التي تلي هذا الواحد.
10100 -> 01100 (لاحظ تركنا الـ 100 وقلبنا الباقي).
Carry vs Overflow
Carry: هو البت الإضافي (البت التاسع في 8-bit). في الـ Unsigned هو خطأ، لكن في Signed يتم تجاهله غالباً.
Overflow: هو خطأ منطقي في الإشارة (موجب + موجب = سالب).
لا تخلط بينهما! قد يحدث Carry بدون Overflow والعكس.
نطاق الأعداد (Range) في 2's Complement
لعدد بتات $n$:
النطاق هو من $-2^{(n-1)}$ إلى $+2^{(n-1)} - 1$.
مثال (8 بت): من $-128$ إلى $+127$.
انتبه: السالب يتحمل رقماً إضافياً (الـ 128-) لأن الصفر يعتبر مع الموجب.