حجيلة للتربية والتعليم الابتدائي
مرحبا بك عزيزي الزائر. المرجوا منك أن تعرّف بنفسك و تدخل منتديات حجيلة للتربية والتعليم معنا. إن لم يكن لديك حساب بعد, نتشرف بدعوتك لإنشائه

انضم إلى المنتدى ، فالأمر سريع وسهل

حجيلة للتربية والتعليم الابتدائي
مرحبا بك عزيزي الزائر. المرجوا منك أن تعرّف بنفسك و تدخل منتديات حجيلة للتربية والتعليم معنا. إن لم يكن لديك حساب بعد, نتشرف بدعوتك لإنشائه
حجيلة للتربية والتعليم الابتدائي
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

شرح النظام الستعشري للمبتدئين Hexadecimal

اذهب الى الأسفل

شرح النظام الستعشري للمبتدئين Hexadecimal Empty شرح النظام الستعشري للمبتدئين Hexadecimal

مُساهمة من طرف ayoub bou الأربعاء 26 نوفمبر 2008 - 11:31




اهداء الى يلا نت الفشرح النظام الستعشري للمبتدئين Hexadecimalالنظام الستعشري هو من أهم أنظمة العد التي تستخدم كثيرا في البرمجة و في مجالات أخرى كثيرة (مثلا أكواد فك التشفير للرسيفر هي بالنظام الستعشري) لهذا سنقوم بشرح هذا النظام بشكلمبسط ....

من المعروف أننا في حياتنا اليومية تستخدم النظام العشري ... يعني الأرقام العادية التي نتعامل معها 0 - 1 - 2 - الى... 9 و لا أحد يجد أي صعوبة في التعامل بها
.....
إن النظام الستعشري لا يختلف في شيء ! و لكن الفرق الوحيد أنه في النظام العشري يوجد 10 أرقام أساسية فقط هي من الصفر الى التسعة ... لكن في النظام الستعشري يوجد 16 رقم أساسي
!

في حال كنت تستغرب أن يكون هناك نظام غير النظام العشري فدعني أذكرك أننا نتعامل مع نظام آخر و لكن دون أن نشعر و هو النظام الستيني ! نعم ... و ذلك في الساعة ... الساعة 60 دقيقية


...
الدقيقة 60 ثانية .... يعني العبرة أن النظام العشري ليس النظام الطبيعي و باقي الأنظمة غريبة ... لكن نحن من تعودنا عليه فلم نعد نجده غريبا ... و بالمناسبة سبب اعتماد النظام العشري منذ
القديم هو أن الانسان أول ما بدأ العد كان يستخدم أصابع يديه و هي عشرة
!

إذا من الناحية النظرية هناك عدد لا نهائي من أنظمة العد : ثنائي - ثلاثي - رباعي - .... الى ما لا نهاية
....
لكن عمليا هناك فقط بعض من هذه الأنظمة مستخدم و هي بشكل رئيسي
:
النظام العشري الذي نعرفه و نحبه
Decimal
النظام الستعشري المفيد جدا في البرمجة و غيرها
Hexadecimal
النظام الثماني الذي كان مستخدما بشكل واسع في البرمجة لكن خف استعماله حاليا
Octal
النظام الثنائي و هو النظام الذي لولاه لما وجود الكومبيوتر
Binary

نعود لموضوعنا ... قلنا أن النظام العشري فيه عشرة أرقام 0-1-2-....-9 أما النظام الستعشري ففيه 16 رقما
!
أول 10 أرقام من النظام الستعشري هي نفسها في النظام العشري ... لكن ماذا عن الستة الباقية ؟ عند ابتكار هذا النظام كان لا بد من اختراع رموز لتعبر عن هذه الأرقام لكن المشكلة هي أنه يجب
استخدام رموز موجودة مسبقا لذا تم استخدام الأحرف
A-B-C-D-E-F
لتعبر عن هذه الأرقام و بالتالي تصبح أرقام النظام الستعشري و ما يقابلها بالنظام العشري
كما يلي
:



Hexadecimal ... Decimal
0 = 0
1 = 1
2 = 2
3 = 3
4 = 4
5 = 5
6 = 6
7 = 7
8 = 8
9 = 9
A = 10
B = 11
C = 12
D = 13
E = 14
F = 15

طيب ماذا يأتي بعد F ؟ بسيطة 10
!
لاحظ أن 10 في النظام الستعشري = 16 في النظام العشري ... لماذا ؟ لأن 10 في النظام الستعشري لا تتم قراءتها أنها "عشرة" و لكن تقرأ "واحد-صفر
"
لتقريب الفكرة أكثر ... كلنا نعرف أنه في النظام العشري بعد 9 يأتي 10 ... لكن لماذا ؟
ببساطة بما أن 9 هي آخر رقم في النظام العشري (لأنه عندنا 10 أرقام فقط من الصفر الى تسعة) فعند زيادة واحد أي 9+1 نقوم بالتالي
:
نضع الرقم الأول في نظام العد في اليسار و نضع قبله صفر فينتج لدينا 10 ... و نفس الشيء تماما في النظام الستعشري
.....

طيب لنتابع مقارنة الأرقام العشرية مع الستعشرية
:


Hexadecimal ... Decimal
10 = 16
11 = 17
12 = 18
13 = 19
14 = 20
15 = 21
16 = 22
17 = 23
18 = 24
19 = 25

ماذا بعد 19 في النظام الستعشري ؟



1A = 26
1B = 27
1C = 28
1D = 29
1E = 30
1F = 31

و ألآن ماذا يأتي؟


20 = 32
21 = 33
و هكذا .......

طيب كل هذا جميل ... لكن هناك مشكلة أننا تعودنا على النظام العشري لدرجة كبيرة ... حتى أننا نفكر بهذا النظام ... و التعود على غيره مسألة صعبة ... فلماذا ابتكروا هذا النظام المربك ؟؟؟
الجواب ببساطة هو أن النظام الستعشري وجد ليريحنا من التعامل مع النظام الثنائي
......

النظام الثنائي لا يحوي إلا رقمين هما 0 و 1 و بهذا تكون الأرقام الثنائية مقارنة مع العشرية كما يلي
:


Decimal ... Binary
0 = 0
1 = 1
2 = 10
3 = 11
4 = 100
5 = 101
6 = 110
7 = 111
8 = 1000
9 = 1001
و هكذا .... لاحظ كيف أنه بسبب عدم وجود غير الرقمين 0 و 1 فإن الأرقام تكبر بصورة سريعة ... مثلا الرقم 255 بالعشري = في الثنائي: 11111111
طيب إذا كان النظام الثنائي معقد لهذه الدرجة - ما الداعي لاستخدامه ؟ الجواب هو أنه بسبب كون النظام لا يحوي إلا رقمين فإنه يمكن بواسطته محاكاة الواقع ... يعني يمكن لهذا النظام أن يمثلدارة كهربائية و يكون 0 = مرور تيار و 1 = عدم مرور تيار ..... هذه الخاصية هي التي سمحت ببرمجة الحواسب الأولى (في الخمسينيات من هذا القرن) بالنظام الثنائي لكن سرعان ما ظهرتالمشكلة ... النظام الثنائي معقد و البرمجة به (تسمى البرمجة بلغة الآلة) عملية معقدة ... كما أن هذا النظام محدود يعني عند تمثيل أرقام كبيرة جدا يمكن أن تظهر أعداد مثل هذا
:
11شرح النظام الستعشري للمبتدئين Hexadecimal Fish10111001000010111110010101001111111111111111 1111111111111 (
و هو يساوي العدد العشري 7886392056514347007) يعني صعوبة في
التعامل كما أن ذاكرة الحاسب لن تتسع لهكذا أعداد ... لذا قاموا بالبداية بتجميع كل 8 أرقام ثنائية و التعامل معها ككتلة واحدة و من هنا نشأ البايت
:
1 Byte = 8 Bit
حيث الكلمة BIT تأتي من تركيب كلمتين هما BINARY DIGIT أي رقم ثنائي
....

و هذا حل مشكلة الذاكرة حيث يمكن تقسيم الأعداد الكبيرة الى عدة بايتات ... لكن مشكلة صعوبة النظام الثنائي بقيت
...
قد تسأل لماذا لا يتم استخدام النظام العشري في التعامل البشري ... ثم تتم ترجمته داخليا الى النظام الثنائي حتى يفهمه الكومبيوتر و غيره من الأجهزة ... عمليا هذا ما يحصل لكن المشكلة هي أنه
عندما ندقق في القيم التي يمكن أن يأخذها بايت واحد نجد ما يلي
:
بما أن البايت مكون من 8 أرقام ثنائية فإن أكبر قيمة للبايت هي 11111111 (أي 8 واحدات!) و هي تساوي في النظام العشري 255 أما في النظام استعشري فهي
FF
و بهذه البساطة يتفوق النظام الستعشري على العشري شرح النظام الستعشري للمبتدئين Hexadecimal Exclamationpoint!!! لماذا ؟ لأنه يمكن التعبير عن بايت واحد برقمين أما في العشري فسنحتاج لرقمين أو ثلاثة و هذا يسبب صعوبات كبيرة مثلا فلنأخذ
هذا الكود المستخدم لفتح الباقات المشفرةعلى أجهزة الرسيفر
:
CF57ACF28E4BD540
كلنا نعلم أنه يتم ادخاله كما يلي
:
CF 57 AC F2 8E 4B D5 40
لماذا لم نضع فراغات في السطر الأول ؟ لأنه لا حاجة لها فنحن نعرف أن كل بايت مكون من رقمين ستعشريين دائما
طيب لنجرب كتابتها بالنظام العشري
:
هكذا خطأ لأنه لم نعد نعرف البايتات من بعضها
!
207871722421427521364 (
الصواب هو: 207 87 172 242 142 75 213 64
)
ayoub bou
ayoub bou
عضو نشط
عضو نشط

ذكر عدد الرسائل : 20
العمر : 35
البلد/المدينة : عين الحجل المسيلة
المزاج : هادئ و بشوش
نقاط النشاط : 5701
تاريخ التسجيل : 18/09/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

شرح النظام الستعشري للمبتدئين Hexadecimal Empty رد: شرح النظام الستعشري للمبتدئين Hexadecimal

مُساهمة من طرف ayoub bou الأربعاء 26 نوفمبر 2008 - 11:34


لهذا تم استخدام النظام الستعشري ليعبر عن البايتات لأنه يعطي تمثيل ثابت Stable Representation عن البايتات: البايت يحتاج خانتين - 2 بايت أربعة خانات - الخ..........



نقطة أخيرة هي كيفية التحويل بين الأنظمة ... طبعا يمكن استخدام برامج جاهزة مثل الآلة الحاسبة لكن يجب أن نكون نعرف كيف يتم ذلك يدويا
......

مثال سنحول عد ستعشري الى عشري
:

Hex: 41C = Dec: 1052
الخطوات: (الرمز * يعبر عن عملية الضرب - hex يعني ستعشري - dec يعني عشري
)

Hex 41C =Hex 4*100 + 1*10 + C = Dec 4 * (16*16) + 1 * (16) + 12 = 1052

أي مثل الأرقام العشرية لكن بدل أن تكون الخانات في العدد العشري هي آحاد - 10- 100 - 1000
- ......
فهي في العدد الستعشري: آحاد - 16 - 16*16 - 16*16*16 - و هكذا
........

للتحويل من عشري الى ستعشري نقسم بدل أن نضرب و نأخذ باقي القسمة (الرمز / يعني القسمة - Mod يعني باقي القسمة
)


1052 / 16 = 65 , mod=12 dec = hex: C
65 / 16 = 4 , mod=1 dec = hex: 1
4 / 16 = 0 , mod = 4 dec = hex: 4
==> 1052 dec = 41C hex


أتمنى أن تكون هذه مقدمة جيدة و مفيدة للمهتمين بهذا الموضوع .....

ayoub bou
ayoub bou
عضو نشط
عضو نشط

ذكر عدد الرسائل : 20
العمر : 35
البلد/المدينة : عين الحجل المسيلة
المزاج : هادئ و بشوش
نقاط النشاط : 5701
تاريخ التسجيل : 18/09/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

شرح النظام الستعشري للمبتدئين Hexadecimal Empty رد: شرح النظام الستعشري للمبتدئين Hexadecimal

مُساهمة من طرف زائر الأربعاء 26 نوفمبر 2008 - 13:21

جزاك الله خيرا اخ ايوب على اللموضوع الجد قيم
ننتظر مساهماتك اخي الكريم
Anonymous
زائر
زائر


الرجوع الى أعلى الصفحة اذهب الى الأسفل

شرح النظام الستعشري للمبتدئين Hexadecimal Empty رد: شرح النظام الستعشري للمبتدئين Hexadecimal

مُساهمة من طرف زائر الأربعاء 26 نوفمبر 2008 - 16:29

جزاك الله خيرا على هاته الشروحات
Anonymous
زائر
زائر


الرجوع الى أعلى الصفحة اذهب الى الأسفل

شرح النظام الستعشري للمبتدئين Hexadecimal Empty رد: شرح النظام الستعشري للمبتدئين Hexadecimal

مُساهمة من طرف ayoub bou الجمعة 28 نوفمبر 2008 - 8:35

شكرا على الرد والمرور
ayoub bou
ayoub bou
عضو نشط
عضو نشط

ذكر عدد الرسائل : 20
العمر : 35
البلد/المدينة : عين الحجل المسيلة
المزاج : هادئ و بشوش
نقاط النشاط : 5701
تاريخ التسجيل : 18/09/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى