التحويل بين نظام الألوان العشري والست-عشري

This article is available in English too, check it out here.

المحتويات

  • نظرة خاطفة
  • مقدمة
    • النظام العشري Decimal
    • النظام الست-عشري Hexadecimal
  • نظام الألوان
  • التحويل من النظام العشري إلى الست-عشري
  • التحويل من النظام الست-عشري إلى العشري
  • تمثيل الألوان في HTML
  • خاتمة

نظرة خاطفة

سوف نقوم في هذا الدرس بإذن الله تعالى بشرح كيفية التحويل بين نظام الألوان العشري 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 فسوف تحتاج إلى خطوات إضافية:

  1. أولا، اقسم هذا الرقم على 16 (وذلك لأن النظام الست-عشري يعتمد على قاعدة-16 أي Base-16 أي أنه له 16 قيمة) ثم قم بإضافة الناتج بدون العلامة العشرية بعد تحويله إلى الصيغة الست-عشرية إلى اليسار. لاحظ أنه لأن القيمة دائما 255 أو أقل فناتج القسمة دائما 15 أو أقل.
  2. ثانيا، قم بقسمة هذا الرقم أيضا على 16 ولكن قم بإضافة باقي القسمة (وليس الناتج) إلى يمين الرقم الناتج من الخطوة السابقة وذلك بعد تحويله إلى النظام الست-عشري. لاحظ أن عملية الحصول على باقي القسمة تسمى Modulus أو كما تختصر Mod.

لاحظ أننا نتكلم عن نظام الألوان والذي كل قيمة فيه تأخذ من 0 إلى 255.

أمثلة:

- 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.

تذكر أن أي قيمة من قيم RGB تأخذ من 0 إلى 255 بالتمثيل العشري أي من 0 إلى FF بالتمثيل الست-عشري.

التحويل من النظام الست-عشري إلى العشري

التحويل من النظام الست-عشري إلى العشري هو تماما عكس التحويل السابق من العشري إلى الست-عشري.

أي أن أي قيمة ست-عشرية hex من 0 إلى 9 أو من A إلى F لها تمثيل في النظام العشري أي من 0 إلى 15.

أما القيم أعلى من 15 أو بالأصح F فتحتاج إلى خطوات إضافية لتحويلها:

  1. أولا، خذ الخانة اليسرى وقم بتحويلها إلى النظام العشري ثم قم بضربها في 16. لاحظ أنه كل خانة تأخذ من 0 إلى 9 أو من A إلى F ولذلك يمكن تحويلها بسهولة إلى النظام العشري قبل ضربها.
  2. ثانيا، خذ الخانة اليمنى وقم بتحويلها إلى النظام العشري ثم قم بجمعها على ناتج الخطوة السابقة.

لاحظ أننا نتكلم عن نظام الألوان والذي كل قيمة فيه تأخذ من 0 إلى 255.

أمثلة:

- 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 وهكذا.

يمكنك استخدام الآلة الحاسبة Calculator الخاصة بالويندوز في التحويل بين القيم العشرية والست-عشرية وهذا بعد تحويلها إلى الوضع علمي Scientific من قائمة View.

خاتمة

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

4 رأي حول “التحويل بين نظام الألوان العشري والست-عشري

اترك تعليقا