أنظمة العد-الشرح المفصل

binary system

قبل التفكير في دراسة ثغرات البرامج و على رأسها ثغرات فيض الذاكرة،ﻻ بد على المتعلم أن يلم بثلاثة أمور مهمة و هي:أنظمة العد،البنية اﻷساسية للمعالج و الذاكرة و كيفية التواصل بينهما و لغتي البرمجة أسمبلي و سي،بحيث ﻻ يمكن بأي حال من اﻷحوال أن تستطيع اكتشاف أي ثغرة في أي برنامج أو نظام او تقوم بعملية اكتشاف طريقة عمل أحد الفيروسات و كتابة مضاد لها،حتى و إن فعلت،فأنت لم تفعل ذلك باﻹستناد إلى قاعدة معرفية و لكنك قمت بذلك بعد اتباع خطوات قرأتها في كتاب أو شاهدتها في أحد الفيديوهات.

مقال اليوم سيفصل في أنظمة العد إلى أبعد الحدود،فأعدوا العدة و هيا بنا ننطلق...
ﻻ شك أنه في أول أيام دراستك أو قبلها تعلمت الحساب باستخدام اﻷرقام التي نعرفها جميعنا من 0 إلى غاية 9 بعدها اﻷرقام الموالية تكون تركيبا أو مزيجا من اﻷرقام السابقة...

نظام العد العشري Decimal Counting System:
و هو النظام الذي تعودنا على استخدامه في حياتنا اليومية و العملية بحيث يتكون من 10 أرقام و هي:
0 1 2 3 4 5 6 7 8 9 
سمي بالنظام العشري ﻷنه يحوي على 10 أرقام،واسع اﻹستخدام بسبب أن سهل الفهم بالنسبة للإنسان...إليك الرقم 5319،قم بكتابته باﻹستناد إلى النظام العشري...كيف هذا فهو أصلا مكتوب بالنظام العشري،نعم صحيح و لكن الكتابة الصحيحة هي كالتالي...شاهد الصورة

Decimal Numbering System

فاﻷصح عند كتابة اﻷرقام أن نقوم بكتابتها مضروبة في 10 و مرفوعة القوة الموافقة لترتيب الرقم،و بالتالي عند كتابة الرقم 5319 فعلينا كتابته كالتالي:
5319 = 5*10³+3*10²+1*10¹+9*10⁰
بسبب اﻹستخدام الكبير للنظام العشري تم التخلي عن كتابة الرمز الخاص بالنظام(10)...

نظام العد الثماني Octal Counting System:
هو نظام عد يعتمد على ثمانية(8) أرقام فقط عوض 10 و هي من 0 إلى غاية 7،حتى نفهم جيدا سنأخذ نفس المثال السابق و نقوم بتحليله على حسب النظام الثماني،سنفترض بأن الرقم 5319 مكتوب باستخدام النظام الثماني،و علينا تحويله إلى النظام العشري حتى نستطيع فهمه كبشر
5*8³=512*5=2560
8²*3=64*3=192
8¹*1=8*1=8
8⁰*9=1*9=9
2769
و بالتالي فإن 5319 في النظام الثماني هو 2769 في النظام العشري.حقيقة النظام الثماني غير مستخدم بكثرة إﻻ في بعض المجاﻻت المحددة جدا.

نظام العد الثنائي Binary Counting System:
نظام العد الثنائي يستخدم الرقمين 0 و 1 فقط،هذان الرقمان يشكلان كل ما تراه من أجهزة كهربائية،الرقمان 0 و 1 في الحقيقة يعبران عن حدثان،فالصفر يعبر عن عدم وجود تيار و الواحد يعبر عن وجود التيار،هذا من الناحية الكهربائية و هي العملية الوحيدة التي تفهمها الدارات الكهربائية.
من الجانب اﻵخر،أو إن صح التعبير،بالنسبة للإنسان فالنظام الثنائي هو نظام عد كباقي أنظمة العد يتكون من رقمين و بالتالي فعند محاولة كتابة اﻷرقام في النظام الثنائي فعلينا كتابة سلسلة طويلة من الرقمين 0 و 1.
هنالك طريقتان لتحويل اﻷرقام من النظام العشري إلى النظام الثنائي:طريقة باقي القسمة و طريقة المضاعفات الشهيرة و لنبدأ بأول طريقة و العدد الذي سنقوم بتحويله هو 124(من أجل تسهيل العملية)
124/2 = 62 rest 0
62/2 = 31 rest 0
31/2 = 15 rest 1
15/2 = 7 rest 1
7/2 = 3 rest 1
3/2 = 1 rest 1
1/2 = 0 rest 1 
هنا سنأخذ بواقي عملية القسمة من آخر قيمة إلى أولها و بالتالي سيكون الناتج كالتالي
124 = 1111100 
باستخدام طريقة المضاعفات الشهيرة:0 1 2 4 8 16 32 64 128 256 512 1024 2048 
من أين جاءت هته المضاعفات الشهيرة؟ ببساطة هي ناتجة عن عملية رفع القوة بالترتيب للعدد 2
2⁰  = 1
2¹ = 2
2² = 4
2³ = 8
2⁴ = 16
2⁵ = 32
2⁶ = 64
2⁷ = 128
2⁸ = 256
لكتابة العدد 124 على شكل الثنائي علينا إيجاد مضاعف شهير أقل منه و بالتالي هو 64 و نقوم بطرح المضاعف الشهير من الرقم اﻷصلي(124) فإن كان ناتج الطرح موجبا سنضع 1 و إن كان سالبا سنضع 0
124-64 = 60 (1)
60-32 = 28 (1)
28-16 = 12 (1)
12-8 = 4 (1)
4-4 = 0 (1)
0-2 = 0
هل وصلتك الفكرة؟ و لكن من أين جاء آخر صفر ببساطة هو الصفر في آخر عملية(ليس الصفر الخاص بالنتيجة و إنما الصفر في الجهة اليسري من عملية الطرح.
124 = 1111100 
لننتقل اﻵن إلى آخر نظام عد و هو...

نظام العد الست عشري Hexadecimal Counting System:
مثله مثل باقي أنظمة العد،لدى النظام الست عشري خصائص تميزه عن باقي اﻷنظمة،و لعل أهم خاصية هي أن النظام يحوي على 16 عنصرا هي اﻷعداد من 0 إلى 9 و اﻷحرف A,B,C,D,E,F...ﻻحظ الصورة.
النظام السداسي عشري

يستخدم هذا النظام بالدرجة اﻷولى في ذاكرة الحية للحاسوب و يعتبر عنصرا مهما جدا جدا بالنسبة ﻷي مهتم بأمن اﻷنظمة ﻻ بد له من أن يتقن التعامل معه...لنأخذ مثاﻻ عمليا...ﻻحظ الصورة التالية 


من أجل التحويل من النظام الست عشري إلى النظام العشري علينا أن نقوم بحفظ اﻷرقام الست عشرية من أجل استخدامها في عملية التحويل...أعتقد أن الصورة تشرح كل شيء و ﻻ داعي ﻹعادة الشرح.

خلاصة:
أي نظام عد يجب أن يحوي على مقياس للعد يسمى القاعدة أو قاعدة النظام:النظام الثنائي قاعدته 2،النظام الثماني قاعدته 8،النظام العشري قاعدته 10 و النظام السداسي عشري قاعدته 16

ﻻحظ هذه الصورة و حاول تذكر المعلومات الموجودة بها لتتذكرها فيما بعد،أو يمكنك طباعتها و وضعها أمامك لتعمل بها في المستقبل القريب



إلى هنا ينتهي الجزء اﻷول من أنظمة العد،الجزء المقبل بحول الله سنتطرق فيها إلى العمليات الرياضياتية في مختلف أنظمة العد...على أمل اللقاء بكم قريبا،أترككم في حفظ الرحمن،دمتم بود،سلام.

تعليقات

  1. شرح جميل جدا ولكن اتمنى شرح مفصل أكثر لنظام العد الثنائي

    ردحذف

إرسال تعليق

شاركنا رأيك حول الموضوع...