"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا يكشف طرح "0" من الحرف عن قيمته الرقمية في لغة C؟

لماذا يكشف طرح "0" من الحرف عن قيمته الرقمية في لغة C؟

تم النشر بتاريخ 2024-12-21
تصفح:147

Why Does Subtracting '0' from a Character Reveal its Numeric Value in C?

فك رموز قيم Char: لماذا يؤدي طرح "0" إلى الكشف عن التمثيل الرقمي

يطرح سؤال محير: لماذا يتم طرح "0" من a الحرف في لغة C يكشف عن القيمة الرقمية التي يمثلها؟

لكشف هذا اللغز، دعونا نتعمق في عالم ASCII (الرمز القياسي الأمريكي لتبادل المعلومات)، الذي يعين رموزًا رقمية لكل حرف. يحتل "0" المركز الأول في هذا التسلسل الرقمي، مع تعيين قيم أعلى للأحرف اللاحقة بشكل متزايد.

على سبيل المثال، يمثل "9" القيمة الرقمية 57، بينما يتوافق "0" مع 48. عن طريق طرح "0" ' من حرف ما، نقوم بشكل أساسي بحساب الفرق بين كود ASCII الخاص به ورمز ASCII الخاص بـ '0'.

خذ بعين الاعتبار المثال: char c = '9'; int x = (int)(c - '0');
هنا، يحتوي '9' على رمز ASCII بقيمة 57. وينتج عن طرح '0' (الذي يحتوي على رمز ASCII بقيمة 48) 57 - 48 = 9، وهو ما هي بالضبط القيمة الرقمية التي يمثلها '9'.

يوضح جدول ASCII التالي هذا الأمر بشكل أكبر المفهوم:

الحرف ASCII كود
'0'48
'1'49
'9'57

بواسطة بطرح "0" من أي حرف، يمكننا فك تشفير القيمة الرقمية التي يمثلها بشكل فعال، وهي تقنية شائعة الاستخدام في تطبيقات البرمجة المختلفة.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3