كيفية تحويل 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++؟ شكراً مسبقاً على المساعدة!
<<>>
لماذا يحدث الخطأ؟
مشكلتك هي فخ كلاسيكي للمبتدئين