محول الهيكس إلى العشرية -- العشرية الهيكس <-> العشرية
لصق أي قيمة هيكس (0xFF, 0x30, #4A90D9) -> نتيجة عشرية فورية. يدعم الهيكس المسبق والخام. يتضمن التحويل خطوة بخطوة، جدول ASCII، ومرجع رمز اللون. مجانا.
فهم نظام الأرقام السداسية العشرية
العشرية السداسية (hex) هو نظام عددي قاعدة 16 يستخدم 16 رمزًا متميزًا: الأرقام 0 - 9 والحروف A - F (حيث A = 10 ، B = 11 ، C = 12 ، D = 13 ، E = 14 ، F = 15). يستخدم Hex على نطاق واسع في الحوسبة كطريقة سهلة الاستخدام للإنسان لتمثيل البيانات الثنائية ، لأن كل 4 أرقام ثنائية (بيت) تتوافق مع رقم hex واحد تمامًا - مما يجعل hex اختصارًا مضغوطًا للثنائي.
كل موقف في رقم هيكس يمثل قوة 16
| الموقع | 163 | ١٦٢ | 161 | 160 |
|---|---|---|---|---|
| القيمة | 4،096 | 256 | 16 | 1 |
تحويل العشرية إلى العشرية:اضرب كل رقم من الأرقام السداسية بقيمة مكانه (قوة 16) وأجمع النتائج.
مثال:2F4A16= 2x4096 + F(15) x256 + 4x16 + A(10) x1 = 8,192 + 3,840 + 64 + 10 =10،106
عادة ما يسبق الأرقام السداسية0xفي البرمجة (مثل0x2F4A) ، أو تليهاhفي لغة التجميع (مثل،2F4Ah) ، لتمييزها عن الأرقام العشرية.
مثال سريع: 0x30 إلى العشرية
واحدة من القيم السداسية الأكثر شيوعًا هي0x30لتحويل0x30 إلى العشرية: ضرب 3 بـ 16 و إضافة 0 -- يعطي48إذاً0x30 = 48في العشرية.
لماذا 0x30 يأتي في كثير من الأحيان؟ لأن في ترميز ASCII،0x30 هو الحرف "0"(رقم الصفر). الرقمين '0' - '9' الخريطة إلى 0x30 - 0x39 (48 - 57 عشرية) ، وهذا هو السبب في أن المبرمجين غالبا ما يواجهون هذه القيمة عند تحليل النص أو العمل مع رموز الأحرف.
خطوة بخطوة: 0x30 -> عشرية
- الرقم السداسي الأول (من اليمين، الموضع 1):0x 160 = 0 x 1 = 0
- الرقم السداسي الثاني (الموضع 2):3× 161 = 3 × 16 = 48
- المجموع: 48 + 0 =48
القيم السداسية الشائعة -- مرجع التحويل السريع
هذه هي القيم السداسية التي يبحث عنها المبرمجون والمطورون في أغلب الأحيان:
| هيكس | العشرية | الاستخدام الشائع |
|---|---|---|
0x10 | 16 | واحد هيكس "عشرة" ؛ قاعدة العشرية السداسية |
0x1F | 31 | القيمة القصوى لـ 5 بتات ؛ قناع 5 بتات |
0x30 | 48 | ASCII '0' -- الرقم صفر |
0x41 | 65 | ASCII "A" -- بداية الحروف الكبيرة |
0x61 | 97 | ASCII 'a' -- بداية الحروف الصغيرة |
0x64 | مائة | العشرية 100 -- مفيدة للتحقق من النسبة المئوية |
0x7F | 127 | الحد الأقصى لـ 7 بتات / الحد الأقصى لقيمة ASCII |
0x80 | 128 | الحد الأدنى للقيمة مع تعيين 7 بت ؛ -128 وقعت |
0xFF | 255 ـ ـ ـ | القيمة القصوى للبايت؛ قناة الألوان الكاملة (RGB) |
0x100 | 256 | 28؛ أول رقم من ثلاثة أرقام |
0x1F4 | 500 دولار | خطأ HTTP 500؛ نصف 0x3E8 |
0x3E8 | ألف | ألف - ألف |
0xFFFF | 65535 | الحد الأقصى لعدد صحيح غير موقّع من 16 بت |
0xFFFFFF | 16،777،215 | الحد الأقصى للقيمة 24 بت، الحد الأقصى لون CSS |
تحويل العشري إلى عشري
يستخدم التحويل من العشرية إلى العشرية السداسية نفس طريقة القسمة المتكررة مثل التحويل الثنائي، ولكن القسمة على 16 بدلاً من 2.
الطريقة:تكرار القسمة على 16 ، وتسجيل الباقي في كل خطوة. يتم كتابة البقايا 10 - 15 باسم A - F. اقرأ البقايا من الأسفل إلى الأعلى.
مثال: تحويل 1500 إلى هيكس
- 1500 ÷ 16 = 93 ، الباقي12 -> C
- 93 ÷ 16 = 5، الباقي13 -> د
- 5 ÷ 16 = 0، الباقي5 -> 5
اقرأ من الأسفل للأعلى:5DC16
تحقق: 5x256 + D(13) x16 + C(12) x1 = 1,280 + 208 + 12 = 1,500
مثال: تحويل 255 إلى hex(القيمة القصوى للبايت)
- 255 ÷ 16 = 15، الباقي 15 ->F
- 15 ÷ 16 = 0، الباقي 15 ->F
النتيجة:FF16-- وهذا هو السبب في تمثيل 255 كما0xFFبالرمز و#FFFFFF(أبيض) في ألوان CSS يستخدم جميع القنوات الثلاث في أقصى حد (255, 255, 255).
نصيحة سريعة للتحول العقلي:بالنسبة للأرقام التي تقل عن 256 ، يتم تقسيمها إلى أعلى مضاعف لـ 16 (العدد السداسي الأول) والباقي (العدد السداسي الثاني). 180 = 11x16 + 4 = B416 . 200 = 12x16 + 8 = C816 .
رموز الألوان السداسية: تطبيقات الويب والتصميم
واحدة من الاستخدامات اليومية الأكثر شيوعًا للشعريات السداسية هي شفرات ألوان CSS والويب. يتم تحديد الألوان على النحو التالي:#RRGGBB، حيث RR و GG و BB هي قيم هيكس من خانتين (00 - FF) للقنوات الحمراء والخضراء والزرقاء على التوالي.
| اللون السادس | R (العشرية) | G (العشرية) | B (العشرية) | وصف اللون |
|---|---|---|---|---|
| #000000 | 0 | 0 | 0 | الأسود (جميع القنوات الحد الأدنى) |
| #FFFFFF | 255 ـ ـ ـ | 255 ـ ـ ـ | 255 ـ ـ ـ | أبيض (كل القنوات كحد أقصى) |
| #FF0000 | 255 ـ ـ ـ | 0 | 0 | أحمر نقي |
| # 00FF00 | 0 | 255 ـ ـ ـ | 0 | خضراء نقية (الصلصة) |
| #0000FF | 0 | 0 | 255 ـ ـ ـ | الأزرق النقي |
| #FF5733 | 255 ـ ـ ـ | 87 | 51 | البرتقالي الأحمر الساطع |
| # 4A90D9 | 74 | 144 | - 217 - | أزرق السماء المتوسط |
| #808080 | 128 | 128 | 128 | رمادية متوسطة (50٪ من كل) |
توفر كل قناة (00 - FF) 256 مستوى × 3 قنوات = 16,777,216 ألوان ممكنة (16.7 مليون).#RGBالرمز (على سبيل المثال، #F5A) يوسع كل رقم إلى رقمين متطابقين: #FF55AA -- يستخدم في CSS عندما يكون كلا الرقمين السداسيين في الزوج متطابقين.
CSS الحديثة تدعم أيضا#RRGGBBAA(8 أرقام هيكس) للألوان ذات الشفافية (قناة ألفا) ، حيث يحدد AA الغموض من 00 (شفاف تمامًا) إلى FF (غموض تمامًا).#FF573380= اللون البرتقالي الأحمر عند 50% من الغموض (8016 = 12810 ~ 50%).
الهيكس في البرمجة والحوسبة
تظهر الست عشرية في جميع أنحاء البرمجة ووثائق الأجهزة وعلوم الكمبيوتر:
عناوين الذاكرةيتم التعبير عن عناوين ذاكرة الوصول العشوائي وعناوين المعالج في الهيكس. قد يبدو عنوان الذاكرة 64 بت مثل0x7FFE0B4C3A20يتم استخدام الـ Hex لأنه يمثل بشكل مكثف الثنائي الأساسي، و 2 أرقام هيكس = بالضبط 1 بايت -- مما يجعل حساب العناوين بديهيًا.
شفرة الآلة وتفكيكها:يتم ترميز تعليمات وحدة المعالجة المركزية على شكل بايتات هيكس. تعليمات x86MOV EAX, 0x42يجمع إلى بايتات هيكسB8 42 00 00 00الباحثون الأمنيون والمبرمجون من المستوى المنخفض يقرأون التفريغات السداسية لفهم أو هندسة عكسية للبرمجيات
تشفير أحرف ASCII:يرسم ASCII خرائط الأحرف إلى الأرقام 0 - 127. في السدسية: 'A' = 0x41 ، 'a' = 0x61 ، الفضاء = 0x20 ، '0' = 0x30 . النمط متسق - الحروف الكبيرة تبدأ في 0x41 ، الحروف الصغيرة في 0x61 (بالضبط 0x20 = 32 فرقًا ، وهذا هو السبب في أن XOR-ing حرف مع 0x20 يقوم بتبديل الحالة).
عناوين IPv6:يتم كتابة عناوين IPv6 128-bit على شكل 8 مجموعات من 4 أرقام هيكس:2001:0DB8:AC10:FE01:0000:0000:0000:0001تمثل كل مجموعة 16 بت (4 أرقام هيكس × 4 بت لكل منها). يمكن أيضًا التعبير عن عناوين IPv4 في هيكس: 192.168.1.1 = 0xC0A80101.
رموز الخطأ:رموز إيقاف ويندوز ("شاشة الموت الزرقاء") هي hex: 0x0000007E, 0xC0000005. رموز errno UNIX ، رموز حالة HTTP في حزم الشبكة ، و رموز POST BIOS كلها تستخدم hex. التعرف على أنماط hex الشائعة يساعد في استكشاف مشاكل النظام.
ثنائي ، ثمانية ، عشري ، هكس: مرجع التحويل الكامل
الأنظمة الرقمية الأربعة المستخدمة في الحوسبة وكيفية ارتباطها:
| العشرية | ثنائي | أوكتال | هيكس |
|---|---|---|---|
| 0 | - 0000 - | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 4 | 0100 | 4 | 4 |
| 8 | ألف | 10 | 8 |
| 10 | 1010 | 12 | A |
| 15 | 1111 . | 17 | F |
| 16 | 0001 0000 | 20 | 10 |
| 32 | 0010 0000 | 40 | 20 |
| 64 | 0100 0000 | مائة | 40 |
| 128 | 1000 0000 | 200 ألف | 80 |
| 255 ـ ـ ـ | 1111 1111 | - 377 - | FF |
| 256 | 0001 0000 0000 | 400 ألف | مائة |
| 1024 | 0100 0000 0000 | ألفين | 400 ألف |
| 65535 | 1111 1111 1111 1111 | 177،777 | FFFF |
اختصارات للتحويل السريع:
- ثنائيمجموعة الأرقام الثنائية في مجموعات من 4 (من اليمين) ، تحويل كل مجموعة إلى رقم هيكس. لا حاجة إلى تقسيم. 1010 1100 11112 = A, C, F =ACF16
- ثنائي <-> ثماني:مجموعة أرقام ثنائية في مجموعات من 3 (من اليمين) ، تحويل كل مجموعة. 001 010 0112 = 1، 2، 3 =1238
- هيكس أوكتال:تحويل عبر ثنائي كوسيط -- هكس إلى ثنائي (4 بت لكل رقم هكس) ، ثم ثنائي إلى ثماني (3 بت لكل رقم ثماني)
حسابات و نصائح السحر العملية
بعض التقنيات المفيدة للعمل مع الهيكس في الممارسة العملية:
الإضافة السداسية:إضافة العمود بعد العمود، والحمل عندما يصل مجموع 16. مثال: 3A + 2F:
- عمود الوحدات: A(10) + F(15) = 25 عشرية = 1916 -> كتابة 9 ، نقل 1
- العمود السادس عشر: 3 + 2 + 1 ((حمل) = 6
- النتيجة:6916= 105 رقم عشري
التحقق من القابلية للقسمة في السدسية:يُقسم الرقم السداسي على 16 إذا كان الرقم الأخير هو 0 (مثل القابلية للقسمة على 10 في العشرية). يُقسم على 2 إذا كان الرقم السداسي الأخير زوجيًا (0,2,4,6,8,A,C,E).
هيكس في عناوين الروابط والترميز:يتم ترميز عناوين URL بأحرف خاصة باستخدام ترميز النسبة المئوية: يصبح الفراغ%20(0x20 = 32 = مساحة في ASCII). رمز @ =%40(0x40 = 64 = '@' في ASCII). معرفة رموز ASCII السداسية تساعد على فك شفرة عناوين URL المشفرة.
انتاج وظائف التجزئة:إن MD5 ينتج 128 بت (32 حرف هيكس). إن SHA-256 ينتج 256 بت (64 حرف هيكس). مثال SHA-256 هش:a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3-- دائما 64 حرف هيكس بغض النظر عن حجم المدخلات. هذا ما تراه عند التحقق من تحميل الملفات مقابل مجموعات التحقق.
الأسئلة الشائعة
كيف يمكنك تحويل العشرية إلى عشرية؟
قم بضرب كل رقم من الأرقام السداسية بـ 16 مرفوعًا إلى قوة موقعها (بدءًا من 0 على اليمين) وجمع النتائج. مثال: 1A316 = 1x256 + A(10) x16 + 3x1 = 256 + 160 + 3 = 419. تقوم آلة حاسبةنا بذلك على الفور لأي قيمة من الأرقام السداسية تدخلها.
كيف يمكنك تحويل العشري إلى عشري؟
تكرار القسمة على 16 وتسجيل الباقي في كل خطوة. يتم تمثيل البقايا 10 - 15 على شكل A - F. قراءة البقايا من الأخير إلى الأول. مثال: 255 ÷ 16 = 15 بقية 15 (((F) ؛ 15 ÷ 16 = 0 بقية 15 (((F) -> 255 عشري = FF hex.
ما هي الأرقام السداسية العشرية المستخدمة؟
يستخدم هيكس في جميع أنحاء الحوسبة: عناوين الذاكرة (0x7FF0E2A0) ، رموز الألوان على الويب (# FF5733) ، رمز الآلة والبيانات الثنائية ، عناوين شبكة IPv6 ، مخرجات التجزئة التشفيرية (MD5 ، SHA-256) ، ترميز أحرف ASCII ، أذونات ملفات يونكس ، رموز أخطاء BIOS ، وأي سياق يحتاج إلى تمثيل ثنائي مضغوط.
لماذا يستخدم (هيكس) الحروف من (أ) إلى (ف) ؟
العشرية السداسية هي قاعدة-16، وتتطلب 16 رمزًا متميزًا. الأرقام من 0 - 9 تغطي القيم العشرة الأولى. الحروف من A إلى F تمثل القيم 10 - 15 على التوالي. تم توحيد هذه الاتفاقية في الحوسبة في ستينيات القرن العشرين. تختلف اختيار الحروف الكبيرة مقابل الحروف الصغيرة (A-F مقابل a-f) حسب النظام؛ كلاهما صالح ويمثل نفس القيم.
ما هو 0x30 في العشرية؟
0x30 في العشرية هو48. لتحويل: 3x16 + 0x1 = 48 + 0 = 48. قيمة 0x30 مهمة بشكل خاص في ترميز ASCII -- فهي تمثل حرف '0' (رقم الصفر). النطاق الكامل من أحرف أرقام ASCII '0' - '9' يمتد من 0x30 - 0x39 (48 - 57 عشرية).
ما هو 0xFF في العشرية؟
0xFF = Fx16 + Fx1 = 15x16 + 15 = 240 + 15 = 255. هذه هي القيمة القصوى لبايت 8 بت (غير موقعة). يظهر بشكل متكرر في البرمجة لأقنعة بت، القيم القصوى لقناة الألوان (RGB يستخدم 0x00 - 0xFF لكل قناة) ، وفي أي مكان تكون هناك حاجة إلى قيمة أقصى 8 بت.
كيف أقرأ رموز الألوان السحرية؟
يتم تقسيم رمز لون هيكس مثل #4A90D9 إلى ثلاثة أزواج: 4A (الأحمر) ، 90 (الأخضر) ، D9 (الأزرق). تحويل كل منها إلى عشري: 4A = 4x16+10 = 74; 90 = 9x16+0 = 144; D9 = 13x16+9 = 217. لذلك #4A90D9 = rgb7(4, 144, 217) -- سماء متوسط الأزرق. كلما كانت القيمة أعلى (أقرب إلى FF/255), كلما زاد ذلك المكون اللون.
ما هو الفرق بين مقدمة 0x و مقدمة # في hex؟
0x (على سبيل المثال ، 0xFF ، 0x1A3) هو البادئة القياسية في لغات البرمجة (C ، C + + ، Java ، Python ، JavaScript ، إلخ). يستخدم # على وجه التحديد لألوان الويب / CSS (#FF5733). يستخدم بعض السياقات لاحقة h (لغة التجميع) ، وبادئة $ (النظم القديمة) ، أو بدون سابقة (عندما يجعلها السياق واضحًا).
كيف يمكنك التحويل بسرعة بين ثنائي و هيكس؟
قم بتجميع العدد الثنائي إلى مجموعات من 4 بتات من اليمين إلى اليسار ، ثم قم بتحويل كل مجموعة إلى رقم هيكس واحد. نظرًا لأن 4 بتات = رقم هيكس واحد تمامًا ، فلا حاجة إلى حساب. مثال: ثنائي 1011 0100 11002 -> مجموعة ك 1011 धूप धूप0100 धूप1100 -> B धूप4 धूपC -> B4C16. هذا يعمل في الاتجاه المعاكس أيضًا: كل رقم هيكس يتوسع إلى 4 أرقام ثنائية بالضبط.