المحتويات
- نظرة خاطفة
- مقدمة
- النظام العشري Decimal
- النظام الست-عشري Hexadecimal
[*]نظام الألوان
[*]التحويل من النظام العشري إلى الست-عشري
[*]التحويل من النظام الست-عشري إلى العشري
[*]تمثيل الألوان في HTML
[*]خاتمة
- النظام العشري Decimal
نظرة خاطفة
سوف نقوم في هذا الدرس بإذن الله تعالى بشرح كيفية التحويل بين نظام الألوان العشري Decimal والست-عشري Hexadecimal. سوف نقوم بداية بشرح ما هو النظام العشري وما هو النظام الست-عشري. بعد ذلك، سوف نشرح نظام الألوان وكيفية تمثيله سواء بالطريقة العشرية أو الست-عشرية. ثم سوف نقوم بمعرفة كيفية التحويل بين النظامين عند التعامل مع الألوان.
مقدمة
بداية ما هو النظام العشري وما هو النظام الست-عشري؟
النظام العشري Decimal
النظام العشري Decimal هو نظام يسمح لك بتمثيل الأرقام في صورة عشرية أي أن كل خانة من خانات الأرقام ممكن أن تأخذ واحدة من 10 أرقام أي من 0 – 9. أي أن هذا التمثيل يعتمد على قاعدة-10 أي Base-10.
فعلى سبيل المثال، جميع الأرقام التي تتعامل معها يوميا هي أرقام عشرية لأن كل خانة فيها ممكن أن تكون رقم من 0 – 9. فمثلا 123,456.7890 نلاحظ أن هذا الرقم كل خانة فيهة عبارة عن رقم في المدى من 0 إلى 9.
النظام الست-عشري Hexadecimal
هذا النظام يسمح لك بتمثيل الأرقام في صورة ست-عشرية. أي أن كل خانة من الخانات سوف تكون في مدى 16 حرف. وهذا التمثيل يعتمد على قاعدة-16 أي Base-16.
قاعدة-16 أو Base-16 هي طريقة لتمثيل البيانات بحيث أن كل خانة تأخذ واحدة من 16 قيمة وهي:
الرقم = القيمة 0 = 0 1 = 1 2 = 2 3 = 3 4 = 4 5 = 5 6 = 6 7 = 7 8 = 8 9 = 9 10 = A 11 = B 12 = C 13 = D 14 = E 15 = F معنى هذا أن في النظام الست-عشري أي رقم ما بين الـ 0 إلى 9 سوف يمثل بنفس الشكل أي نفس الرقم. فعلى سبيل المثال الرقم 5 إذا أردنا تمثيله في النظام الست-عشري سوف يكون 5 أيضا.
أما الأرقام من 10 إلى 15 فتأخذ حروف من A إلى F. فعلى سبيل المثال الرقم 11 يكون تمثيله بالنظام الست-عشري بالحرف B وأما الرقم 15 مثلا فيكون تمثيله بالحرف F وهكذا. أما الأرقام أعلى من 15 فيتم تمثيلها بطريقة معينة سوف نقوم بمعرفتها قريبا في هذا الدرس.
نظام الألوان
تعرف بالطبع أن الألوان يتم اختيارها عن طريق ثلاثة قيم وهي Red، Green، و Blue أو RGB كما تختصر. وهذه القيم كما تعرف كل قيمة فيها هي عبارة عن 1 بايت أي أنها تأخذ قيمة من 0 إلى 255.
في أكواد HTML مثلا تقوم باختيار اللون عن طريق اسمه وذلك إذا كان من الألوان الأساسية أما إذا كان من غيرها فيجب عليك تحديد اللون عن طريق قيم RGB ويجب أن تكون ممثلة بالنظام الست-عشري Hex.
بسبب هذا وغيره سوف نقوم في الأجزاء القادمة بشرح كيفية تحويل قيم الألوان من النظام العشري إلى الست-عشري والعكس.
التحويل من النظام العشري إلى الست-عشري
إذا كان الرقم العشري dec الذي تريد تحويه 15 أو أقل فيمكنك تحويله إلى الست-عشري بسهولة وذلك كما تعرف أن الأرقام من 0 – 9 تأخذ نفس القيمة في حيث أن من 10 إلى 15 تأخذ من A إلى F.
أما إذا كان هذا الرقم أعلى من 15 فسوف تحتاج إلى خطوات إضافية:
- أولا، اقسم هذا الرقم على 16 (وذلك لأن النظام الست-عشري يعتمد على قاعدة-16 أي Base-16 أي أنه له 16 قيمة) ثم قم بإضافة الناتج بدون العلامة العشرية بعد تحويله إلى الصيغة الست-عشرية إلى اليسار. لاحظ أنه لأن القيمة دائما 255 أو أقل فناتج القسمة دائما 15 أو أقل.
- ثانيا، قم بقسمة هذا الرقم أيضا على 16 ولكن قم بإضافة باقي القسمة (وليس الناتج) إلى يمين الرقم الناتج من الخطوة السابقة وذلك بعد تحويله إلى النظام الست-عشري. لاحظ أن عملية الحصول على باقي القسمة تسمى Modulus أو كما تختصر Mod.
أمثلة:
- 11 (dec) 11 = B Result = B (hex) - 160 (dec) 160 / 16 = 10 160 mod 16 = 0 10 = A 0 = 0 Result: A0 (hex) - 254 (dec) 254 / 16 = 15 254 mod 16 = 14 15 = F 14 = E Result = FE (hex)
رأينا في الأمثلة السابقة 3 قيم عشرية وهي 11 و 160 و 245 تم تحويلها إلى القيم الست-عشرية B و A0 و FE.
التحويل من النظام الست-عشري إلى العشري
التحويل من النظام الست-عشري إلى العشري هو تماما عكس التحويل السابق من العشري إلى الست-عشري.
أي أن أي قيمة ست-عشرية hex من 0 إلى 9 أو من A إلى F لها تمثيل في النظام العشري أي من 0 إلى 15.
أما القيم أعلى من 15 أو بالأصح F فتحتاج إلى خطوات إضافية لتحويلها:
- أولا، خذ الخانة اليسرى وقم بتحويلها إلى النظام العشري ثم قم بضربها في 16. لاحظ أنه كل خانة تأخذ من 0 إلى 9 أو من A إلى F ولذلك يمكن تحويلها بسهولة إلى النظام العشري قبل ضربها.
- ثانيا، خذ الخانة اليمنى وقم بتحويلها إلى النظام العشري ثم قم بجمعها على ناتج الخطوة السابقة.
أمثلة:
- B (hex) B = 11 Result = 11 (dec) - A0 A = 10 0 = 0 10 * 16 = 160 160 + 0 = 160 Result = 160 (dec) - FE F = 15 E = 14 15 * 16 = 240 240 + 14 = 254 Result = 254 (dec)
تمثيل اللون في HTML
إذا كان اللون الذي تريده غير موجود في قائمة الألوان الأساسية للـ HTML أو إذا كنت تفضل الطريقة الصعبة لاختيار الألوان فسوف تحتاج إلى تمثيل اللون بالطبع بالقيم RGB ولكنها سوف تكون ست-عشرية.
فعلى سبيل المثال، لتمثيل اللون الكاكي والذي له قيم RGB وهي 240 و 230 و 140 سوف نقوم أولا بتحويل هذه القيم إلى مثيلاتها الست-عشرية فتصبح F0 و E6 و 8C فبالتالي نقوم بتمثيلها في HTML كالتالي: #F0E68C وهكذا.
خاتمة
تعلمنا في هذا الدرس ما هو النظام العشري والست-عشري. وتعلمنا كيفية تمثيل الألوان سواء بالطريقة العشرية أو الست-عشرية وتعلمنا كيفية تمثيلها في HTML. أخيرا، يمكنك برمجة الكلاس الخاصة بك التي تقوم بالتحويل من القيم العشرية إلى الست-عشرية ومن نظام الألوان العشري إلى الست-عشري.