Yasin Samy | 👨‍💻 Profile picture
Jun 3, 2022 19 tweets 10 min read Read on X
أهلاً بكم في #ثريد_برمجي جديد🤩🥳، و على عكس العادة.. #ثريد اليوم سيكون مكثف بعض الشىء و سنتعمق فيه لشرح بعض المفاهيم الرياضية البسيطة👨‍🏫 التي نحتاج معرفتها لفهم موضوع اليوم و التي اسأل الله تعالى أن يوفقني لأستطيع شرحها لكم بطريقة مبسطة خلال الـ #سرد.
0/18🧵 ثريد لغة الآلة ( لغة الباينري ) Machi
💡أهم نقاط الثريد:

🟣شرح #نظام_العد الثنائي ( 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🧵

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Yasin Samy | 👨‍💻

Yasin Samy | 👨‍💻 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(