Avatar ·

كيفية تحويل char إلى int في C و C++؟ نفهم الأرقام والرموز

مرحباً بالجميع! لقد بدأت للتو في تعلم C++ وواجهت موقفاً غير مفهوم. أحتاج إلى قراءة رمز من الإدخال القياسي وتحويله إلى عدد صحيح لإجراء عمليات حسابية عليه. إليك الكود الخاص بي بلغة C++: ```cpp #include using namespace std; int main() { char c; cout << "أدخل رقمًا: "; cin >> c; int num = (int)c; // أحاول تحويل char إلى int cout << "الرقم المدخل مضروبًا في 2: " << num * 2 << endl; return 0; } ``` إذا أدخلت `5`، أتوقع الحصول على `10` في المخرجات، لكن البرنامج يطبع `106`! لماذا يحدث ذلك؟ قرأت أن `char` هو نوع عدد صحيح ويمكن تحويله (cast) إلى `int`. لكن يبدو أنني أفعل شيئاً خاطئاً. قل لي، كيف يمكن تحويل رمز يحتوي على رقم إلى عدد صحيح بشكل صحيح؟ وما الفرق بين تحويل char إلى int بأسلوب C وأسلوب C++؟ شكراً مسبقاً على المساعدة! <<>>

لماذا يحدث الخطأ؟

مشكلتك هي فخ كلاسيكي للمبتدئين