Science and knowledge Forum

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

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

Science and knowledge Forum

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

Science and knowledge Forum

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

منتدى العلم و المعرفة

الآن سألو كنانة الأسئلة التي تخطر على بالكم
موضوع أيّام زمان: شو كان أكتر موقف حلو و محرج مرينا فيه السني الماضيي
يسعدنا أن تبدو آرائكم المتعلقة بالمنتدى سواء من خلال مراسلة الإدارة أو مراسلة المدير على الإيميل التالي:adeptbe@hotmail.com و شكراً لجهوكم المبذولة من أجل الارتقاء بالمنتدى
مبروك لأستاذ الفيزياء هيثم سليمان، و أستاذ العربي معتز علواني لحصولهما على المرتبة الأولى من حيث الشعبية كل في مادته

المواضيع الأخيرة

» معلومات مهمة أغلبكم لا يعرفها
HEXADECIMAL Emptyالخميس أكتوبر 06, 2011 8:31 pm من طرف hytham h

» معلومات مهمة أغلبكم لا يعرفها
HEXADECIMAL Emptyالخميس أكتوبر 06, 2011 8:30 pm من طرف hytham h

» معلومات مهمة أغلبكم لا يعرفها
HEXADECIMAL Emptyالخميس أكتوبر 06, 2011 8:26 pm من طرف hytham h

» معلومات مهمة أغلبكم لا يعرفها
HEXADECIMAL Emptyالخميس أكتوبر 06, 2011 8:25 pm من طرف hytham h

» سؤال جميل جداً..لماذا لا تحترق الحجارة؟
HEXADECIMAL Emptyالأربعاء أكتوبر 05, 2011 9:55 pm من طرف hytham h

» مهارات وذوقيات لنرتقي بمجتمعنا
HEXADECIMAL Emptyالإثنين سبتمبر 19, 2011 4:33 pm من طرف Maysan

» بخل وراثي جدا
HEXADECIMAL Emptyالإثنين سبتمبر 19, 2011 12:03 pm من طرف Maysan

» النكتة اليابانية الأمريكية
HEXADECIMAL Emptyالإثنين سبتمبر 19, 2011 11:58 am من طرف Maysan

» أفكار محشش.هل تكون واقعية؟
HEXADECIMAL Emptyالإثنين سبتمبر 19, 2011 11:49 am من طرف Maysan

faceook

HEXADECIMAL Find_us_on_facebook

find us on facebook

Time now

أفضل 10 أعضاء في هذا المنتدى

تدفق ال RSS


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 

التبادل الاعلاني


3 مشترك

    HEXADECIMAL

    abdullatif
    abdullatif
    مشرف
    مشرف


    عدد المساهمات : 19
    نقاط : 5001
    يا عيني : 13
    تاريخ التسجيل : 02/11/2010
    العمر : 29
    الموقع : سوريا - ادلب

    HEXADECIMAL Empty HEXADECIMAL

    مُساهمة من طرف abdullatif الأحد نوفمبر 21, 2010 6:35 pm

    النظام الستعشري هو من أهم أنظمة العد التي تستخدم كثيرا في البرمجة و في مجالات أخرى كثيرة (مثلا أكواد فك التشفير للرسيفر هي بالنظام الستعشري) لهذا سنقوم بشرح هذا النظام بشكل مبسط ....
    من المعروف أننا في حياتنا اليومية تستخدم النظام العشري ... يعني الأرقام العادية التي نتعامل معها 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طيب إذا كان النظام الثنائي معقد لهذه الدرجة - ما الداعي لاستخدامه ؟ الجواب هو أنه بسبب كون النظام لا يحوي إلا رقمين فإنه يمكن بواسطته محاكاة الواقع ... يعني يمكن لهذا النظام أن يمثلدارة كهربائية و يكون 1 = مرور تيار و 0 = عدم مرور تيار ..... هذه الخاصية هي التي سمحت ببرمجة الحواسب الأولى (في الخمسينيات من هذا القرن) بالنظام الثنائي لكن سرعان ما ظهرتالمشكلة ... النظام الثنائي معقد و البرمجة به (تسمى البرمجة بلغة الآلة) عملية معقدة ... كما أن هذا النظام محدود يعني عند تمثيل أرقام كبيرة جدا يمكن أن تظهر أعداد مثل هذا:
    1110111001000010111110010101001111111111111111 1111111111111 ( و هو يساوي العدد العشري 7886392056514347007) يعني صعوبة فيالتعامل كما أن ذاكرة الحاسب لن تتسع لهكذا أعداد ... لذا قاموا بالبداية بتجميع كل 8 أرقام ثنائية و التعامل معها ككتلة واحدة و من هنا نشأ البايت:
    1 Byte = 8 Bit
    حيث الكلمة BIT تأتي من تركيب كلمتين هما BINARY DIGIT أي رقم ثنائي ....
    و هذا حل مشكلة الذاكرة حيث يمكن تقسيم الأعداد الكبيرة الى عدة بايتات ... لكن مشكلة صعوبة النظام الثنائي بقيت ...
    قد تسأل لماذا لا يتم استخدام النظام العشري في التعامل البشري ... ثم تتم ترجمته داخليا الى النظام الثنائي حتى يفهمه الكومبيوتر و غيره من الأجهزة ... عمليا هذا ما يحصل لكن المشكلة هي أنهعندما ندقق في القيم التي يمكن أن يأخذها بايت واحد نجد ما يلي:
    بما أن البايت مكون من 8 أرقام ثنائية فإن أكبر قيمة للبايت هي 11111111 (أي 8 واحدات!) و هي تساوي في النظام العشري 255 أما في النظام استعشري فهي FF
    و بهذه البساطة يتفوق النظام الستعشري على العشري !!! لماذا ؟ لأنه يمكن التعبير عن بايت واحد برقمين أما في العشري فسنحتاج لرقمين أو ثلاثة و هذا يسبب صعوبات كبيرة مثلا فلنأخذهذا الكود المستخدم لفتح الباقات المشفرةعلى أجهزة الرسيفر:
    CF57ACF28E4BD540
    كلنا نعلم أنه يتم ادخاله كما يلي:
    CF 57 AC F2 8E 4B D5 40
    لماذا لم نضع فراغات في السطر الأول ؟ لأنه لا حاجة لها فنحن نعرف أن كل بايت مكون من رقمين ستعشريين دائماطيب لنجرب كتابتها بالنظام العشري:
    هكذا خطأ لأنه لم نعد نعرف البايتات من بعضها !
    207871722421427521364 (الصواب هو: 207 87 172 242 142 75 213 64)

    لهذا تم استخدام النظام الستعشري ليعبر عن البايتات لأنه يعطي تمثيل ثابت 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


    عدل سابقا من قبل abdullatif في الأحد نوفمبر 21, 2010 7:22 pm عدل 1 مرات
    Adeptbe
    Adeptbe
    مدير المنتدى
    مدير المنتدى


    عدد المساهمات : 295
    نقاط : 5561
    يا عيني : 9
    تاريخ التسجيل : 27/10/2010
    العمر : 29
    الموقع : طرطوس

    HEXADECIMAL Empty رد: HEXADECIMAL

    مُساهمة من طرف Adeptbe الأحد نوفمبر 21, 2010 6:58 pm

    أشكر صديقي عبد اللطيف على الموضوع الرائع خصوصاً أنه من جهده الشخصي..
    evildevil1700
    evildevil1700
    متميز خارق
    متميز خارق


    عدد المساهمات : 175
    نقاط : 5302
    يا عيني : 27
    تاريخ التسجيل : 27/10/2010
    العمر : 29

    HEXADECIMAL Empty رد: HEXADECIMAL

    مُساهمة من طرف evildevil1700 الإثنين نوفمبر 22, 2010 8:53 am

    شكراً كثيراً يا عبد اللطيف وأرجو أن تكون هناك مواضيع عن الدروس الأخرى في المعلوماتية للمساعدة

      الوقت/التاريخ الآن هو الأحد مايو 19, 2024 4:16 am