كيف يكون هذا العنوان (0x00000400) = 1024
-
01-10-2019 - |
سؤال
أنا أعمل في C ++ ولدي #define VAL 0x00000400
. عندما أقوم بتعيين متغير يساوي تحديد: int value = val ؛ عندما أركض عبر مصحح الأخطاء ، يظهر القيمة المتغيرة = 1024. هل يمكن لأي شخص أن يشرح كيف يتحول ذلك إلى 1024؟ ربما بعض الروابط لمعلومات عنوان الذاكرة ، أو معلومات #Define ، أو أي شيء ذي صلة.
المحلول
0x00000400 هو الأساس 16 لـ 1024. يعرضك تصحيح الأخطاء على قيمة عدد صحيح في القاعدة 10.
نصائح أخرى
"0x400" هو السداسي عشري, ، أو قاعدة 16. 0x400 معبر عنها على أنها عشرية (قاعدة 10) ، هي 1024.
بالمناسبة ، يمكنك استخدام Google لإجراء تحويلات أساسية. البحث عن "0x400 في عشري" وستقدم لك Google الإجابة.
0x00000400 هو 400 قاعدة 16 ، وهو 1024 قاعدة 10.
1024 في عشري = 400 في السداسي.
0x400
هو رقم سداسي عشري (يشار إليه من قبل 0x
بادئة.) إنها طريقة أخرى لتمثيل العدد العشري 1024
.
بالإضافة إلى ذلك ، فإن التحويل من 0x400 (قاعدة 16) إلى قاعدة 10 هو:
4*16^2 + 0*16^1 + 0*16^0
4*16^2 + 0 + 0
4*256
1024
حسنًا ، لم أر الرمز الخاص بك ، ولكن 400H = 1024 العشرية وتحدد عدد صحيح "int value = val" فقط لا يعرض أي إشعار/تحذير ، فهو يقوم بممثلين من أجلك