حالة الموضوع:
مغلق
  1. .:: RSS ::.

    .:: RSS ::. عضوية آلية

    الأنتساب:
    ‏9 سبتمبر 2011
    المشاركات:
    14,005
    الإعجابات المتلقاة:
    0
    نقاط الجائزة:
    36
    الإقامة:
    IQ-T34M



    السلام عليكم ورحمة الله وبركاته



    إن شاء الله تكونوا في تمام الصحة والعافية إخواني


    أرجو أولا إخواني مشاهدة هذا الشرح لأن هذا الشرح مرتبط بالسابق .

    كود PHP:

    http
    ://vb.ehcommunity.com/showthread.php?t=73152


    كنا قد شفنا كيف نحول من النظام الثنائي ومن النظام السداسي العشري إلى النظام العشري
    في هذا الشرح حنقوم بالعكس .




    نأخذ مثلا العدد 76 ونحوله للنظام الثنائي :
    القاعدة = 2

    76 / 2 = 38 والباقي = 0

    38 / 2 = 19 والباقي = 0

    19 / 2 = 9 والباقي = 1

    9 / 2 = 4 والباقي = 1

    4 / 2 = 2 والباقي = 0

    2 / 2 = 1 والباقي = 0

    1 < 2 فنقف ونخليه 1

    ثم نقوم بكتابة قيم ماتبقى من عمليات القسمة إبتدائا من الأسفل فبالتالي النتيجة هي
    1001100

    يعني 76 بالنظام العشري تساوي 1001100 في النظام الثنائي .


    ملاحظة :

    1001100 يتكون من 7 bits وهذا يعني أن عدد الأعداد التي يمكن أن ننشؤها ب 7 bits هي :

    (2*2*2*2*2*2*2*2 ) - 1 = 128 -1 = 127

    يعني ب 7 بت يمكن أن ننشئ 127 عدد مختلف في النظام الثنائي ومعهم العدد 0

    يعني ب 7 بت يمكن أن نعد من 0 إلى 127 .

    يعني القاعدة هي :

    لو عندي مثلا 3 بت يمكن أن أنشئ : 2*2*2 - 1 عدد مختلف (طبعا الأعداد بالنظام الثنائي) ومعهم العدد 0 .

    يعني ب 3 بت ممكن أن نعد من 0 إلى 7 .

    يعني نشوف كم من بت وهذا العدد يمثل كم من مرة نضرب العدد في القاعدة( = 2 ) في القاعدة (=2)

    لو مثلا عندي 5 بت يعني نضرب العدد 2 في بعضو 5 مرات :

    ونطرح 1 من النتيجة

    هذه النتيجة تمثل عدد الأعداد التي يمكن أن ننشؤها بتلك الكمية من البت والعد يبدأ من 0.

    ملاحظة ثانية :

    كنا قد تحدثنا عن البت ذو القيمة السفلى في العدد (LSB) والبت ذو القيمة العليا في العدد (MSB)

    نقول قيمة أو وزن .

    يعني ببساطة نأخذ مثال : 0 01 001 1

    نبدأ دائما من اليمين :

    البت التي وزنها أقل في العدد هي أول بت على اليمين وهي الملونة بالأخضر وتسمى LSB.

    البت التي وزنها أكثر في العدد هي آخر بت على اليسار وهي الملونة بالبرتقالي وتسمى MSB.


    الوزن يمثل عدد المرات التي نضربها في القاعدة .



    نأخذ مثلا العدد 1024 ونحوله للنظام السداسي العشري :

    1024 / 16 = 64 والباقي 0

    64 / 16 = 4 والباقي 0

    4 < 16 فنقف هنا ونخليها 4


    ثم نقوم بكتابة قيم ماتبقى من عمليات القسمة إبتدائا من الأسفل فبالتالي النتيجة هي 400

    يعني 1024 بالنظام العشري تساوي 400في النظام السداسي العشري .


    نأخذ مثال آخر العدد 76 ونحوله للنظام السداسي العشري :

    76 / 16 = 4 والباقي = 12 وكنا قد شفنا أن 12 في النظام العشري يقابلها Cفي النظام السداسي العشري

    4 < 16 فنقف هنا ونخليها 4

    يعني 76 بالنظام العشري تساوي 4Cفي النظام السداسي العشري .




    كيف نتعامل مع الأعداد السلبية في النظام الثنائي ؟

    توجد 3 طرق لتحويل عدد صحيح سلبي إلى النظام الثنائي :
    نأخذ مثلا العدد -5

    الطريقة الأولى :

    نستعمل في هذه الطريقة bit معينة تحدد إذا كان العدد الصحيح سلبي أم إجابي

    فإذا كانت هذه البت الذي حددناها تساوي 1 فيعني ذلك أن العدد هو سلبي (مثل في النظام العشري نحدد العلامة - )

    إذا كانت هذه البت الذي حددناها تساوي 0 فيعني ذلك أن العدد هو إجابي (مثل في النظام العشري نحدد العلامة + )

    هذه البت التي تحدد إذا كان العدد سلبي أم إجابي تكون دائما في أقصى اليسار في العدد .

    طيب أول خطوة نقوم بها :
    نحدد كم من بت حنستعملها لكتابة هذا العدد -5 في النظام الثنائي .

    عموما نستعمل عدد حجمه 8 بت وهذا هو الحجم الأصلي لعدد صحيح في البرمجة يعني هذا الحجم متفق عليه (بالطبع توجد أعداد صحيحة حجمها 16 بت ) .

    لكن يجب أن نحدد أولا الحجم الذي سنستعمله . فنستعمل مثلا في مثالنا هذا 8 بت لكتابة العدد.

    ملاحظة :
    في 8 بت التي سنستعملها لكتابة هذا العدد لدينا فقط 7 بت الأولى لكتابة قيمة العدد والبت الثامنة (في أقصى اليسار تمثل علامة العدد سلبي أم إجابي)


    ثاني خطوة نقوم بها :

    نحدد البت التي في أقصى اليسار (البت الثامنة ) في العدد هي التي تمثل علامة العدد .
    نضع 1 إن كان سلبي ونضع 0 إن كان إجابي .

    ثالث خطوة نقوم بها :

    نكتب العدد السلبي بإستعمال الثمانية بت كلها .


    نحن سنحول العدد -5 6 (نظام عشري) إلى النظام الثنائي

    سنستعمل 8 بت في ذلك .

    العدد -5 يتكون من 5 والعلامة - .

    5 تصبح :

    2/5 = 2 والباقي 1
    2/2 = 1 والباقي0
    1 < 2 نخليه 1

    يعني 5 تصبح 101

    ونحن نريد كتابته على 8 بت :

    7 بت الأولى تمثل القيمة يعني 101 يصبح 0000101 (الأربع الأصفار زدناها لنحقق حجم 7 بت ولاتؤثر في القيمة مثلما هو الحال في النظام العشري 001 = 1)

    والعلامة - يعنى نظيف 1 في الأخير

    فيصبح العدد 10000101

    ملاحظة :
    يجب أن ننتبه أن البت الأخيرة على اليسار لا تنتمي إلى قيمة العدد .

    فمثلا لو أخذنا هذا العدد 10000101

    (بإعتبار 8 بت كلهم يمثلون القيمة ) وحولناه إلى النظام العشري سنجد 133


    الطريقة الثانية :

    نحول العدد إلى النظام الثنائي كأنه عدد إجابي بإستعمال 8 بت.
    ثم نقوم بتعويض كل 0 من العدد ب 1 و كل 1 ب 0 .

    مثلا : نأخذ الرقم-5 كمثال

    فنحول أولا 5 بإستعمال 8 بت فيصبح 00000101

    ثانيا : نقوم بتعويض كل 0 من العدد 00000101 ب 1 و كل 1 ب 0 .
    فيصبح 11111010

    ثالثا : نحدد آخر بت على اليسار أي (MSB) البت الثامنة على أنها بت لتحديد إذا كان العدد سلبي أم إيجابي .


    يعني في هذه الطريقة عند كتابتنا أعداد بحجم 8 بت كل الأعداد السلبية تكون فيها MSB (أي آخر بت على اليسار : البت الثامنة ) تساوي 1 والأعداد الإجابية تكون فيها (MSB) تساوي 0

    ثم إذا أردنا إستعمال هذا العدد
    نتثبت أولا في MSBفإذا كانت تساوي 1 فنقوم إذا بقلب العدد أي تعويض كل 0 فيه ب 1 و 1 ب 0 ثم نحول مانتحصل عليه إلى النظام العشري .

    يعني سنعكس ماقمنا به في الخطوة الأولى

    مثال : 11111010 هذا حجمه 8 بت

    MSBفيه تساوي 1 يعني العدد سلبي

    فنقوم بتعويض كل 1 ب 0 وكل 0 ب 1 فيصبح 00000101 نحوله إلى النظام العشري يصبح 5

    وبما أن العدد سلبي يعني -5


    الطريقة الثالثة وهي أسهل طريقة :

    نحول العدد إلى النظام الثنائي كأنه عدد إجابي بإستعمال 8 بت.

    يعني مثلا 5 تصبح 00000101

    ثانيا : نحول 0 إلى 1 وال 1 إلى 0

    فيصبح 11111010

    ثالثا : نظيف 1 إلى العدد يعني :

    11111010
    +
    00000001

    فيصبح : 11111011

    وبذلك يعني أن -5 هي تساوي 11111011 (بإعتبار كل الثمانية البت تمثل القيمة)



    يتبع بإذن الله

    في أمان الله







    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​

    المصدر: شبكة عراق تيم IQ-TEAM - من قسم: |[ RSS Forum ]|

    hgk/hl hgekhzd (hgHu]h]) 2​
     
حالة الموضوع:
مغلق

مشاركة هذه الصفحة