Yasin Samy | 👨‍💻 Profile picture
أتعلم...🧐📖🔎 📦تليجرام: https://t.co/cYtcafuUeH

Jun 3, 2022, 19 tweets

أهلاً بكم في #ثريد_برمجي جديد🤩🥳، و على عكس العادة.. #ثريد اليوم سيكون مكثف بعض الشىء و سنتعمق فيه لشرح بعض المفاهيم الرياضية البسيطة👨‍🏫 التي نحتاج معرفتها لفهم موضوع اليوم و التي اسأل الله تعالى أن يوفقني لأستطيع شرحها لكم بطريقة مبسطة خلال الـ #سرد.
0/18🧵

💡أهم نقاط الثريد:

🟣شرح #نظام_العد الثنائي ( Binary System ) رياضياً.

🟣شرح #لغة_الآلة ( لغة الباينري ) في أجهزة الحاسوب و استنتاج علاقتها بنظام العد الثنائي.

🟣نظام #ASCII و تاريخه و أسباب انشائه.

🟣طريقة الكتابة بـ #لغة_الباينري عن طريق تعلم رمز ASCII.
1/18🧵

🚩ما هو نظام العد الثنائي؟
لقد تطورت أنظمة العد عبر العصور فكانت لكل أمة طريقة للعد و الحساب فكان العد على الأصابع و العد المسماري و كان العد في بعض الأمم عن طريق الحصى و دليلاً على ذلك تحول كلمة "calculi" اللاتينية و تعني "الحصوة" الى "calculate" الإنجليزية و تعني "يحسب".
2/18🧵

و من ضمن أنظمة العد أيضاً نظام العد الستيني -الذي يُستخدم في حساب الزمن- و نظام العد السداسي و هو أساس فكرة الإضاءة الرقمية (RGB System)، كما هناك أيضاً النظام العشري الذي يتكون من 10 أرقام (0:9) و هو أشهر انواع العد في عصرنا و هناك النظام الثنائي و هو موضوع ثريد اليوم.
3/18🧵

🚩كيف يعمل نظام العد الثنائي؟
لكي نفهم طريقة عمله علينا تذكر بعض مفاهيم النظام العشري؛ حيث يبدأ العد فيه من 0 و ينتهي بـ9 ثم بعد ذلك تتحول الـ9 إلى 0 و يضاف على يسارها 1 ليتكون لدينا العدد التالي (10) إلى أن نصل للعدد 99 ثم يتحولان لـ00 و يضاف اليهما 1 لتصبح (100) و هكذا..
4/18🧵

و بنفس الكيفية يعمل نظام العد الثنائي حيث يبدأ العد من 0 ثم 1 و بهذا نكون قد وصلنا لآخر رقم في النظام الثنائي لأنه يتكون فقط من رقمين (0,1)؛ لذا يتحول الـ(1) إلى 0 ثم يضاف 1 على يساره ليصبح العدد التالي هو 10 ثم 11 ثم يتحولان ثانيةً إلى 00 و يضاف 1 ليصبح العدد 100 و هكذا..
5/18🧵

🚩ما هو نظام #ASCII ؟ و كيف كانت نشأته؟
في يدايات صناعة #الحاسب_الآلي عندما لم يكن موجود غالباً إلا في البنوك و مع بعض الأثرياء كان من المهم ادخال الأرقام للحاسوب لإجراء بعض العمليات عليها فكانت هناك مشكلة تواجه الشركات المصنعة للحواسيب في ذلك الوقت..
6/18🧵

المشكلة هي أن الحاسوب لا يقبل إلا إشارتين تعبران عن وجود الشحنة الكهربية أو عدم وجودها(+,-) في حين أنهم يريدون ادخال 10 رموز على الأقل(0:9) لإجراء معادلة رياضية بسيطة و كانت كل شركة في تلك الفترة تنشئ شفرة بل شفرات خاصة بها للتعامل مع الحواسيب فكانت IBM مثلاً تملك 8 شفرات.
7/18🧵

ظل الوضع كذلك إلى أن جاء المهندس "بوب بيمير" الذي كان يعمل في ذلك الوقت لصالح شركة IBM و عزم "بيمير" على تطوير نظام كامل للتعامل مع الرموز و الحروف و الأرقام على الحاسوب، و سمي هذا النظام فيما بعد باسم (ASCII) "American Standard Code for Information Interchange".
8/18🧵

شكل المعهد الوطني الأمريكي للمقاييس (ِANSI) لجنة "X3" للعمل على كود ASCII و تطويره حتى أصبحت الشفرة تضم 127 رمزاً يعبَّر عن كل رمز منها بعدد معين في نظام العد الثنائي.
9/18🧵

لاحظ المطورون بعد ذلك أن طول الشفرة تختلف من رمز لآخر فعلى سبيل المثال رمز A"=65=>1000001" نلاحظ أن الرمز يتكون من 7 أرقام، بينما "0"=48=>110000 نلاحظ أن شفرة الرمز "0" تتكون من 6 أرقام فقط؛ فكيف سيعرف الحاسب بداية الشفرة و نهايتها؟!!
10/18🧵

تم حل مشكلة عدم تساوي أطوال الشفرات عن طريق إضافة أصفار على يسار الرقم المكون للشفرة (حيث أنها ليس لها قيمة في نظام العد) إلى أن يكون طول الشفرة هو 8 أرقام.

كي يكون كل رمز مخزَّن في 1Byte و كل رقم في الشفرة مخزن في 1Bit، حيث أن كل بايت يتكون من 8بت.
11/18🧵

🚩طرق كتابة شفرة ASCII و فكها:
في هذا الجزء ستتعلم كيف تكتب شفرة أسكي و كيف تفكها و تعرف الرمز الذي تعبر عنه الشفرة و ذلك عن طريق تحويل الأرقام من النظام الثنائي للعشري و العكس.
يضم هذا الجزء4طرق لكتابة و فك الشفرة(خوارزميتين و عكسيهما)،أرجو أن أوفَّق في شرحهم، تابع معي..
12/18🧵

🟣فك شفرة ASCII بالمضاعفة:
لنأخذ على سبيل المثال الرمز 01001110.
1⃣نحذف أصفار اليسار ليصبح 1001110.
2⃣نأخذ الرقم الأيسر كرقم حالي أول.
3⃣نرتب العناصر من أعلى لأسفل، نمر على باقي الأرقام و نتبع المعادلة: الرقم الحالي × 2 + رقم الشفرة.
4⃣نحصل على الرقم 78 المعبر عن الحرف N.
13/18🧵

🟣فك الشفرة بأسس الـ(2):
1⃣نكتب قيم أسس الـ(2) [2⁰ : 2⁷] من اليمين لليسار.
2⃣نكتب الشفرة أسفل الأسس ليكون كل رقم له نظير من الأسس.
3⃣نكتب تحت كل رقم (1) في الشفرة نظيره من الأسس.
4⃣نجمع القيم التي كتبناها تحت الشفرة.
5⃣نبحث عن الناتج في شفرة آسكي لنعرف الرمز المعبر عنه.
14/18🧵

🟣كتابة شفرة ASCII بالتقسيم:
لنتخذ نفس المثال [حرف N]
1⃣ نحول الحرف الى العدد المعبر عنه (78).
2⃣نقوم بقسمة 78/2 و نسجل باقي القسمة، ثم نكرر هذا على كل ناتج قسمة.
3⃣نقوم بترتيب نواتج باقي القسمة من اليمين لليسار.
4⃣نضيف 0 على اليسار ليكون طول الشفرة 8 حروف.
15/18🧵

🟣كتابة الشفرة بأسس الـ(2):
لنتخذ نفس المثال [حرف N] =>(78 في رمز آسكي).
1⃣نكتب قيم أسس الـ(2) [2⁰ : 2⁷] من اليمين لليسار.
2⃣نقارن 78 بكل أس من اليسار لليمين، اذا كان الأس أكبر نكتب أسفل الأس (1) و يكون العدد الجديد هو مطروح العدد القديم و الأس، و إلا يكتب (0)أسفل الأس.
16/18🧵

الختام🔚:
و بهذا نكون قد وصلنا لنهاية هذا الثريد، أتمنى أن تكونوا قد استفدتم منه و لو بمعلومة واحدة و ألا أكون قد أثقلت عليكم في عرض المعلومة أو توصيل الفكرة العامة للثريد.

في الختام، أحب أن أشكر كل من وصل لهذه النقطة من الثريد و أتمنى أن أكون دائماً عند حسن ظنكم بي.
17/18🧵

✋و قبل أن تغادر🏃‍♂️، إذا أعجبك الثريد.. لا تنسى:

1️⃣الإعجاب بالثريد ♥️ و أن حفظه لوقت الحاجة🔖.
2️⃣عمل ريتويت لأول تغريدة🔃 لتعم الفائدة.
3️⃣متابعة الحساب➕👤 و تفعيل جرس التغريدات🔔 ليصلك كل جديد😀.
18/18🧵

Share this Scrolly Tale with your friends.

A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.

Keep scrolling