البتات والبايتات والأعداد الثنائية
في هذا الدرس 11 موضوعات
نظرة عامة على الدرس
رأيت في الدرس السابق أن الذاكرة العشوائية (RAM) والتخزين يحفظان البيانات. لكن مِمَّ تتكوّن هذه البيانات؟ الصورة والأغنية والرسالة تبدو لك أشياء مختلفة تمامًا. أما داخل الحاسوب فتُخزَّن كلها بالطريقة نفسها: سلاسل طويلة من الرقمين 0 و1 فقط.
في هذا الدرس ستتعلم ما هو البت (bit) وما هو البايت (byte)، وكيف تقرأ الأعداد وتكتبها بالنظام الثنائي (binary)، وكيف تحوّل الأعداد الصغيرة بيدك من نظام إلى آخر. وستتعلم أيضًا كيف تحسب عدد القيم المختلفة التي يتسع لها عدد معيّن من البتات. وفي النهاية ستعرف لماذا قد تعني "3 MB" عددين مختلفين قليلًا من البايتات.
لماذا يهمّك هذا؟ أحجام الملفات، وأحجام الذاكرة، وسرعات الإنترنت، وحدود الأعداد داخل البرامج، بل وسبب ظهور بعض الأخطاء البرمجية، كلها ترجع إلى البتات والبايتات. ولا تحتاج إلى أن تكون ماهرًا في الرياضيات. إذا كنت تستطيع أن تجمع أعدادًا صغيرة وتقارن بينها، فأنت تستطيع أن تفعل كل ما في هذا الدرس.
يبني هذا الدرس على الدرسين السابقين: البيانات توجد في RAM وفي التخزين، ووحدة المعالجة المركزية (CPU) هي التي تعمل عليها.
أهداف التعلّم
بنهاية هذا الدرس ستكون قادرًا على أن:
- تعرّف البت والبايت، وتذكر كم بتًا في البايت الواحد.
- تقرأ قيم الخانات في عدد ثنائي (1 و2 و4 و8 و16 و32 و64 و128 وهكذا).
- تحوّل الأعداد الثنائية الصغيرة إلى النظام العشري، والأعداد العشرية الصغيرة إلى النظام الثنائي، بيدك.
- تحسب كم قيمة مختلفة تتسع لها n من البتات، وما أكبر عدد يمكن تخزينه فيها.
- تشرح بشكل عام كيف تُخزَّن النصوص والألوان على هيئة أعداد.
- تشرح لماذا قد يعني الميجابايت مليون بايت أو 1,048,576 بايت، وأيّ اسم يقابل كل معنى.
الشرح
لماذا رمزان فقط؟
الدوائر الإلكترونية بارعة جدًا في التمييز بين حالتين فقط: تشغيل أو إطفاء، جهد كهربائي عالٍ أو جهد منخفض. أما التمييز بين عشر حالات (لكل رقم من 0 إلى 9) بدقة وبتكلفة قليلة فأصعب بكثير. لذلك يستخدم الحاسوب رمزين فقط، يُكتبان 0 و1، ويبني كل شيء آخر من صفوف طويلة منهما.
الخانة الواحدة التي تحمل 0 أو 1 تُسمّى بتًا (bit)، وهي اختصار "binary digit" أي "خانة ثنائية". والبت أصغر وحدة للبيانات: يكفي فقط لجواب سؤال إجابته نعم أو لا.
البت الواحد لا يتسع إلا لقيمتين، وهذا قليل جدًا. لذلك تُجمَّع البتات معًا. كل مجموعة من 8 بتات تُسمّى بايتًا (byte). والبايت هو الوحدة التي تُقاس بها عادةً أحجام الذاكرة والتخزين. فعندما تسمع "هاتف 16 GB"، فإن حرف "B" معناه بايت (bytes).
النظام العشري: النظام الذي تعرفه أصلًا
أنت تستخدم كل يوم نظامًا قائمًا على قيمة الخانة (place value): النظام العشري، أي نظام الأساس 10. (الرقم هنا هو الرمز الواحد من 0 إلى 9، والعدد يتكوّن من رقم واحد أو أكثر.) في العدد 4,305 لكل رقم خانة، وقيمة كل خانة عشرة أضعاف الخانة التي على يمينها:
| الخانة | الآلاف | المئات | العشرات | الآحاد |
|---|---|---|---|---|
| القيمة | 1000 | 100 | 10 | 1 |
| الرقم | 4 | 3 | 0 | 5 |
إذن العدد 4,305 معناه 4 × 1000 + 3 × 100 + 0 × 10 + 5 × 1. وفي كل خانة يمكنك استخدام عشرة رموز (من 0 إلى 9). وعندما تصل الخانة إلى 10، تنقل 1 إلى الخانة التالية على اليسار، كما تفعل في الجمع عندما تقول "واحد في اليد".
النظام الثنائي: الفكرة نفسها برمزين
النظام الثنائي (binary)، أي نظام الأساس 2، يعمل بالطريقة نفسها تمامًا، مع فرقين فقط: قيمة كل خانة ضعف قيمة الخانة التي على يمينها، ولا يوجد فيه إلا الرقمان 0 و1.
تذكّر أن الأعداد تُكتب بالترتيب نفسه حتى داخل النص العربي: الخانة الأصغر قيمةً في أقصى اليمين، والقيم تكبر كلما اتجهت إلى اليسار. ابدأ من اليمين، وستجد قيم الخانات كالتالي:
| الخانة | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|
| على صورة قوى العدد 2 | 2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
احفظ هذا الصف جيدًا. (الرمز ^ معناه "مرفوعًا إلى الأُس": فـ 2^3 تعني ضرب 2 في نفسه 3 مرات، أي 2 × 2 × 2 = 8. أما 2^0 فتساوي 1 حسب قواعد الرياضيات.) والصف يستمر دائمًا بالمضاعفة: 256 ثم 512 ثم 1024، وهكذا.
من الثنائي إلى العشري
لتحويل عدد ثنائي إلى عشري، اجمع قيم الخانات التي فيها الرقم 1.
مثال: 101010
| الخانة | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|
| الرقم | 1 | 0 | 1 | 0 | 1 | 0 |
الرقم 1 موجود في خانات 32 و8 و2، فالقيمة هي 32 + 8 + 2 = 42.
النسخة النصية من هذا الرسم
صف من ثماني قيم للخانات: 128 و64 و32 و16 و8 و4 و2 و1 (قوى العدد 2، من 2 أس 7 إلى 2 أس 0). تحتها العدد الثنائي 0 0 1 0 1 0 1 0. الرقم 1 يقع تحت 32 و8 و2، ومجموع 32 + 8 + 2 يساوي 42.
الأصفار التي على اليسار، في بداية العدد، لا تغيّر قيمته، كما أن 007 هي نفسها 7: فالعدد 00101010 يساوي 42 أيضًا. وكثيرًا ما يكتب المبرمجون الأعداد الثنائية في مجموعات من 8 أرقام (بايت كامل) حتى تصطف تحت بعضها بشكل مرتب.
من العشري إلى الثنائي
لتحويل عدد عشري إلى ثنائي، ابدأ من أكبر قيمة خانة تدخل في العدد، ثم انزل خانةً خانةً حتى تصل إلى 1. وفي كل خانة اسأل نفسك:
- إذا كانت قيمة الخانة أصغر من الباقي أو تساويه، اكتب 1 واطرحها من الباقي.
- وإذا كانت أكبر منه، اكتب 0.
مثال: حوّل العدد 86.
| الخانة | هل تدخل في الباقي؟ | الرقم | الباقي بعدها |
|---|---|---|---|
| 128 | لا (128 > 86) | 0 | 86 |
| 64 | نعم | 1 | 22 |
| 32 | لا (32 > 22) | 0 | 22 |
| 16 | نعم | 1 | 6 |
| 8 | لا (8 > 6) | 0 | 6 |
| 4 | نعم | 1 | 2 |
| 2 | نعم | 1 | 0 |
| 1 | لا (لم يبقَ شيء) | 0 | 0 |
خذ أرقام عمود "الرقم" من الأعلى إلى الأسفل، واكتبها من اليسار إلى اليمين، فتحصل على 01010110. (بدأنا من الخانة 128 مع أنها لا تدخل، لنحصل على بايت كامل من 8 أرقام؛ والصفر الذي في أول العدد لا يغيّر قيمته.) ثم تحقّق بالتحويل في الاتجاه العكسي: 64 + 16 + 4 + 2 = 86. اجعل هذا التحقق عادة دائمة.
العدّ بالنظام الثنائي
العدّ في النظام الثنائي يشبه العدّ العشري، إلا أنك تنقل 1 إلى الخانة التالية عندما تصل الخانة إلى 2، لا إلى 10:
| العشري | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|---|
| الثنائي | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 |
لاحظ أن 1000 (أي ثمانية) هو الرقم 1 تتبعه ثلاثة أصفار، تمامًا كما أن 1000 في النظام العشري هو الرقم 1 تتبعه ثلاثة أصفار. وكلما أضفت خانة جديدة، تضاعف عدد القيم.
كم قيمة تتسع لها n من البتات؟
لكل بت قيمتان ممكنتان، وكل بت إضافي يضاعف عدد الأنماط (patterns)، أي الترتيبات المختلفة الممكنة للرقمين 0 و1:
| البتات | الأنماط المختلفة | القيم التي يمكن تمثيلها (بالعدّ من 0) |
|---|---|---|
| 1 | 2 | من 0 إلى 1 |
| 2 | 4 | من 0 إلى 3 |
| 3 | 8 | من 0 إلى 7 |
| 4 | 16 | من 0 إلى 15 |
| 8 | 256 | من 0 إلى 255 |
| 16 | 65,536 | من 0 إلى 65,535 |
القاعدة: n من البتات تعطي 2^n نمطًا مختلفًا، ولأن العدّ يبدأ من 0، يكون أكبر عدد صحيح يمكن تخزينه هو 2^n - 1. البايت (8 بتات) يعطي 256 نمطًا، فيتسع للأعداد من 0 إلى 255. ولهذا يتكرر العدد 255 كثيرًا في عالم الحاسوب.
كل شيء أعداد
ما دام البايت يستطيع أن يحفظ عددًا، فهو يستطيع أن يحفظ أي شيء نتفق على أن نعبّر عنه بعدد.
النصوص. يُعطى كل حرف عددًا خاصًا به حسب جدول متفق عليه. في جدولي ASCII وUnicode الشائعين، الحرف H يقابله العدد 72، والحرف i يقابله العدد 105، فتُخزَّن الكلمة Hi على هيئة هذين العددين: 01001000 01101001. توجد جداول أخرى، والحروف غير الإنجليزية (مثل الحروف العربية) قد تأخذ حجمًا مختلفًا، وستأتي التفاصيل لاحقًا. الفكرة التي يجب أن تتذكرها: النص = أعداد + جدول متفق عليه.
الألوان. يُوصف اللون على الشاشة عادةً بثلاثة مقادير: كم من الأحمر، وكم من الأخضر، وكم من الأزرق نمزج. كل مقدار من 0 إلى 255، أي بايت واحد لكل لون أساسي. فثلاثة بايتات للون الواحد تعطي 256 × 256 × 256 = 16,777,216 لونًا ممكنًا.
الصور. الصورة شبكة من نقاط صغيرة ملوّنة اسمها البكسلات (pixels). إذن الصورة قائمة طويلة جدًا من الأعداد. وملفات الصور الحقيقية تكون عادةً مضغوطة، أي أُعيدت كتابتها بشكل أقصر، فتشغل مساحة أقل من القائمة الخام.
الحاسوب نفسه لا يعرف هل صفّ البتات هذا عدد أم حرف أم لون. البرنامج هو الذي يقرر كيف يفهمه. وسيهمّك هذا عندما تتعرف على لغات البرمجة وأنواع البيانات فيها (types).
قياس الحجم: البايت والكيلوبايت ولغز 1000 أم 1024
للكميات الأكبر نضيف بادئة (prefix) قبل كلمة "بايت"، مثل "كيلو" في "كيلوبايت":
| الاسم | الرمز | المعنى |
|---|---|---|
| كيلوبايت | kB | 1,000 بايت |
| ميجابايت | MB | 1,000,000 بايت |
| جيجابايت | GB | 1,000,000,000 بايت |
| تيرابايت | TB | 1,000,000,000,000 بايت |
هذه هي البادئات القياسية في النظام الدولي للوحدات (SI): "كيلو" تعني 1,000، و"ميجا" تعني 1,000,000، وهكذا، كما في الكيلوجرام والكيلومتر.
لكن لأن الحاسوب يعدّ بقوى العدد 2، استخدم الناس كلمة "كيلو" أيضًا بمعنى 1,024 (وهي 2^10)، و"ميجا" بمعنى 1,048,576 (وهي 2^20)، وهكذا. ولإزالة هذا الالتباس وضع معيار دولي أسماء مستقلة: كيبيبايت (KiB) = 1,024 بايت، وميبيبايت (MiB) = 1,048,576 بايت، وجيبيبايت (GiB)، وهكذا. ويوثّق NIST (المعهد الوطني الأمريكي للمعايير والتقنية) هذه البادئات الثنائية.
وفي الواقع العملي:
- الشركات المصنّعة لأقراص التخزين تعلن عادةً عن السعة بالوحدات المبنية على 1,000.
- بعض البرامج تعرض الأحجام بوحدات مبنية على 1,024، لكنها قد تظل تكتب بجانبها KB أو MB أو GB.
- ولهذا قد يظهر قرص مكتوب عليه "500 GB" بعدد أصغر في بعض البرامج. لم يضِع شيء من السعة. كل طرف يعدّ بوحدة مختلفة.
إذن "3 MB" تعني نحو 3,000,000 بايت بوحدات SI، أما 3 MiB فتعني 3,145,728 بايت. وعندما تحتاج إلى الدقة، تأكد أيّ الطريقتين مستخدمة.
وأخيرًا، لا تخلط بين البتات والبايتات. سرعات الإنترنت والشبكات تُكتب عادةً بالبت في الثانية (بحرف b صغير، كما في Mbps)، أما أحجام الملفات فتُكتب بالبايت (بحرف B كبير). وفي البايت 8 بتات، فاتصال سرعته 80 Mbps ينقل على الأكثر نحو 10 ميجابايت في الثانية، وذلك قبل خصم الحِمل الإضافي (overheads)، أي البيانات الإضافية التي تحتاجها الشبكة لتنظيم النقل نفسه، لا بيانات ملفك.
أمثلة
المثال 1: من ثنائي إلى عشري (بسيط)
حوّل 1101 إلى النظام العشري.
قيم الخانات بدءًا من اليمين: 1 و2 و4 و8. والرقم 1 موجود في خانات 8 و4 و1.
8 + 4 + 1 = 13.
المثال 2: من عشري إلى ثنائي (عملي)
حوّل 37 إلى النظام الثنائي بالطريقة التي تعلمتها.
- 32 تدخل، والباقي 5. الرقم 1.
- 16 لا تدخل. الرقم 0.
- 8 لا تدخل. الرقم 0.
- 4 تدخل، والباقي 1. الرقم 1.
- 2 لا تدخل. الرقم 0.
- 1 تدخل، والباقي 0. الرقم 1.
الأرقام هي 100101. تحقّق: 32 + 4 + 1 = 37.
المثال 3: إلى أي حد يمكن أن يكبر هذا العدد؟ (واقعي)
برنامج يخزّن عمر اللاعب في بايت واحد. ما أكبر عمر يمكن تخزينه؟ وماذا يحدث لو كان العمر 300؟
البايت الواحد فيه 8 بتات، فهو يتسع للأعداد من 0 إلى 255. إذن أي عمر حتى 255 يمكن تخزينه. أما القيمة 300 فلا يتسع لها بايت واحد: إما أن يخصص البرنامج مساحة أكبر (بتات أكثر)، وإما أن يخزّن قيمة خاطئة. واختيار مساحة تكفي لأكبر قيمة متوقعة شيء ستفعله كثيرًا في البرامج الحقيقية.
من منظور الـ Backend
تظهر البتات والبايتات في كل مكان في عمل الـ backend:
- حدود الأعداد. تخزّن لغة البرمجة الأعداد الصحيحة في عدد ثابت من البتات. فالعدد الصحيح المخزّن في 32 بتًا، إذا كان يقبل القيم السالبة أيضًا، لا يتجاوز 2,147,483,647 (لأن نحو نصف الأنماط الممكنة يُستخدم للأعداد السالبة)، وهذا حدّ قد يتخطاه نظام كثير الاستخدام جدًا. والمعرّفات (IDs) والعدّادات التي تكبر حتى تتجاوز المساحة المخصصة لها سبب معروف ومتكرر لأخطاء بيئة الإنتاج (production).
- الأحجام والتكاليف. التخزين السحابي والذاكرة ونقل البيانات كلها تُشترى بالبايت. فإذا عرفت تقريبًا كم بايتًا يشغله السجلّ الواحد (record)، مثل بيانات مستخدم واحد، استطعت أن تقدّر تكلفة مليون سجل.
- الشبكة. البيانات التي تنتقل بين الخوادم تنتقل على هيئة بايتات. والسرعات تُقاس بالبت في الثانية، والأحجام بالبايت، والخلط بينهما يجعل تقديراتك خاطئة بمقدار 8 أضعاف.
- النصوص. قد يشغل الحرف الواحد أكثر من بايت، فقد يختلف "عدد الحروف" عن "الحجم بالبايت". وهذا يؤثر في الحدود القصوى للحقول والرسائل.
ستقابل كل واحدة من هذه النقاط مرة أخرى. أما الآن فتذكّر: كل ما يتعامل معه الـ backend بايتات، والبرنامج هو الذي يقرر معناها.
أخطاء شائعة
الخطأ 1: قراءة العدد الثنائي كأنه عدد عشري
- خطأ: "
101هو مئة وواحد." - صحيح: "
101بالنظام الثنائي هو 4 + 1 = 5."
وضّح دائمًا بأي نظام تكتب. وعندما قد يلتبس الأمر، اذكر الأساس صراحة: 101 بالنظام الثنائي يساوي 5.
الخطأ 2: كتابة الأرقام بترتيب خاطئ
الرقم الذي في أقصى اليمين قيمته 1 (أصغر خانة)، والخانات تكبر كلما اتجهت إلى اليسار. وإذا بدأت من الطرف الخطأ حصلت على عدد مختلف. انتبه لهذا خاصةً عند التحويل من العشري إلى الثنائي: أول رقم تحصل عليه (رقم أكبر خانة) يُكتب في أقصى اليسار.
الخطأ 3: الظن أن n من البتات تتسع لـ n من القيم
- خطأ: "8 بتات تتسع لـ 8 قيم."
- صحيح: "8 بتات تعطي 2^8 = 256 نمطًا، أي من 0 إلى 255."
الخطأ 4: نسيان أن العدّ يبدأ من 0
- خطأ: "يستطيع البايت أن يخزّن العدد 256."
- صحيح: "للبايت 256 نمطًا، لكنها تبدأ من 0، فأكبر عدد هو 255."
الخطأ 5: الخلط بين البتات والبايتات، أو بين 1,000 و1,024
الحرف b الصغير يعني بتات، والحرف B الكبير يعني بايتات. وكل 8 بتات تكوّن بايتًا واحدًا. وإذا كانت الوحدة مهمة، فتأكد: هل الوحدات المستخدمة مبنية على 1,000 أم على 1,024؟
التمارين
جرّب كل تمرين بنفسك قبل أن تفتح الحلول. واستعن بجدول قيم الخانات.
المستوى A: الأساس
A1. كم بتًا في البايت؟ وما اسم أصغر وحدة للبيانات؟
أظهر الحل A1
A1. في البايت 8 بتات. وأصغر وحدة للبيانات هي البت.
A2. حوّل إلى النظام العشري: 1001 و10110 و111111.
أظهر الحل A2
A2. 1001 = 8 + 1 = 9. 10110 = 16 + 4 + 2 = 22. 111111 = 32 + 16 + 8 + 4 + 2 + 1 = 63.
A3. حوّل إلى النظام الثنائي: 9 و25 و50.
أظهر الحل A3
A3. 9 = 8 + 1 = 1001. 25 = 16 + 8 + 1 = 11001. 50 = 32 + 16 + 2 = 110010.
المستوى B: تطبيق المفاهيم
B1. اكتب الأعداد من 0 إلى 8 بالنظام الثنائي دون أن تنظر إلى الجدول، ثم قارن إجابتك بالجدول الموجود في الدرس.
أظهر الحل B1
B1. 0 = 0، 1 = 1، 2 = 10، 3 = 11، 4 = 100، 5 = 101، 6 = 110، 7 = 111، 8 = 1000.
B2. كم نمطًا مختلفًا تعطي 4 بتات؟ و5 بتات؟ و12 بتًا؟ وما أكبر عدد صحيح يمكن تخزينه في 5 بتات؟
أظهر الحل B2
B2. 4 بتات: 2^4 = 16 نمطًا. 5 بتات: 2^5 = 32. 12 بتًا: 2^12 = 4,096. وأكبر عدد يمكن تخزينه في 5 بتات هو 2^5 - 1 = 31.
B3. اجمع العددين الثنائيين 101 و11: حوّلهما إلى العشري، ثم اجمعهما، ثم حوّل الناتج إلى الثنائي.
أظهر الحل B3
B3. 101 = 5 و11 = 3. و5 + 3 = 8، وهو 1000 بالنظام الثنائي.
B4. تُخزَّن الكلمة Hi على هيئة العددين 72 و105. اكتب 72 بالنظام الثنائي في بايت كامل من 8 أرقام.
أظهر الحل B4
B4. 72 = 64 + 8، إذن نكتب 1 في خانة 64، و1 في خانة 8، و0 في باقي الخانات: 01001000.
المستوى C: التحدي
C1. قرص يُباع على أنه "250 GB"، أي 250,000,000,000 بايت. وبرنامج يعرض حجمه بوحدة تساوي 1,073,741,824 بايت (GiB). ما الحجم التقريبي الذي يعرضه البرنامج؟
أظهر الحل C1
C1. 250,000,000,000 ÷ 1,073,741,824 يساوي نحو 232.8، فيعرض البرنامج نحو 233 GiB (وبعض البرامج تكتب بجانبه "GB"). لم يضِع شيء من السعة. الوحدات فقط مختلفة.
C2. لديك اتصال سرعته 100 Mbps. كم ميجابايت في الثانية يستطيع أن ينقل على الأكثر تقريبًا؟ ولماذا يُتوقع أن تكون سرعة التنزيل الفعلية أقل؟
أظهر الحل C2
C2. 100 Mbps = 100 مليون بت في الثانية. اقسم على 8 (عدد البتات في البايت): 12.5 ميجابايت في الثانية على الأكثر. والسرعة الفعلية أقل بسبب الحِمل الإضافي للبروتوكول (protocol overhead)، ومشاركة الاتصال مع أجهزة ومستخدمين آخرين، وسرعة الخادم نفسه، وعوامل أخرى.
C3. يستخدم اللون بايتًا واحدًا لكل من الأحمر والأخضر والأزرق. كم بايتًا يشغل البكسل الواحد؟ وكم بايتًا تشغل صورة خام (غير مضغوطة) أبعادها 2,000 × 1,000 بكسل؟ ولماذا تكون ملفات الصور الحقيقية عادةً أصغر؟
أظهر الحل C3
C3. البكسل الواحد يشغل 3 بايتات. وصورة أبعادها 2,000 × 1,000 فيها 2,000,000 بكسل، فتشغل 2,000,000 × 3 = 6,000,000 بايت (نحو 6 MB) من دون ضغط. أما ملفات الصور الحقيقية فتكون عادةً مضغوطة، أي تحفظ الصورة نفسها في عدد أقل من البايتات.
تحدٍّ صغير
اصنع لنفسك "ورقة مراجعة سريعة" للنظام الثنائي في صفحة واحدة، تحتوي على:
- قيم الخانات من 1 إلى 1024.
- الصورة الثنائية لعمرك، ولليوم الذي وُلدت فيه، ولرقم الشهر الذي وُلدت فيه.
- كم نمطًا تعطي 10 بتات، مع القاعدة التي استخدمتها.
- جملة واحدة تذكّرك بالفرق بين Mb وMB، وبين kB وKiB.
راجع عملك: حوّل كل عدد من أعدادك الثنائية الثلاثة إلى العشري، وتأكد أنك حصلت على العدد الأصلي.
الملخص والدرس التالي
أهم النقاط
- البت خانة واحدة فيها 0 أو 1. والبايت 8 بتات.
- النظام الثنائي نظام قائم على قيمة الخانة، وقيمة كل خانة فيه ضعف قيمة الخانة التي على يمينها.
- للتحويل من الثنائي إلى العشري اجمع قيم الخانات التي فيها 1. وللتحويل من العشري إلى الثنائي انزل على قيم الخانات من الأكبر إلى الأصغر، واطرح كل قيمة تدخل في الباقي.
- n من البتات تعطي 2^n نمطًا، من 0 إلى 2^n - 1. والبايت يتسع للأعداد من 0 إلى 255.
- النصوص والألوان والصور كلها تُخزَّن أعدادًا، ومعها طريقة متفق عليها لفهم هذه الأعداد.
- الوحدات kB وMB وGB تكبر بخطوات من 1,000. والوحدات KiB وMiB وGiB تكبر بخطوات من 1,024. الحرف b الصغير للبتات، والحرف B الكبير للبايتات.
الدرس التالي
أصبحت تعرف أجزاء الحاسوب، ومِمَّ تتكون البيانات. الدرس التالي، "مهمة نظام التشغيل"، يشرح البرنامج الذي يدير كل هذا حتى تتمكن برامج كثيرة من مشاركة وحدة معالجة واحدة، وذاكرة RAM واحدة، وجهاز تخزين واحد.
اختبر نفسك
- ما هو البايت؟
- كم يساوي
1010بالنظام العشري؟ - كيف تكتب 20 بالنظام الثنائي؟
- كم قيمة تتسع لها 10 بتات؟
- هل 3 MB تساوي بالضبط 3 × 1,048,576 بايت؟
أظهر الإجابات
- مجموعة من 8 بتات.
- 8 + 2 = 10.
- 20 = 16 + 4 =
10100. - 2^10 = 1,024 نمطًا.
- ليس بالضرورة. بوحدات SI تساوي 3 MB ما مقداره 3,000,000 بايت. أما 3 MiB فتساوي 3 × 1,048,576 = 3,145,728 بايت. تأكد أيّ الطريقتين مستخدمة.
المراجع
- Kansas State University, CC 110 textbook, Binary Numbers. يشرح قيم الخانات في النظام الثنائي والتحويل في الاتجاهين، ومنه المثالان المحلولان 00101010 = 42 و86 = 01010110 المستخدمان في هذا الدرس. ولا يعرّف البت والبايت، فهذان التعريفان من المصطلحات القياسية المتعارف عليها.
- NIST, Prefixes for binary multiples. يميّز بين بادئات SI (كيلو = 1,000) والبادئات الثنائية kibi وmebi وgibi (المبنية على 1,024).
التطبيق
طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.
تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.