PDA

View Full Version : سوال: یه سوال در مورد مقدار متغیر



andiseh
چهارشنبه 22 مرداد 1393, 13:48 عصر
سلام.چرا در متغیر int مقدار متغیر از 2,147,483,648- تا 2,147,483,647 است؟دلیلشو میخواستم بدونم

Davidd
چهارشنبه 22 مرداد 1393, 14:32 عصر
طول متغيرهاي int چهار بايت است يعني 32 بيت و با توجه به اينكه اعداد به صورت مكمل 2 ذخيره ميشن (يك بيت براي علامت در نظر گرفته ميشه) اين كران بالا و پايين بدست مياد . 2 به توان 31 ميشه 2,147,483,648

andiseh
چهارشنبه 22 مرداد 1393, 15:33 عصر
خب چرا از 647 تا 648 است.چرا از 647 تا 647 یا از 648 تا 648 نیست؟

mrprestige
چهارشنبه 22 مرداد 1393, 15:33 عصر
ضمن تایید صحبت دوستمون ، این مقدار بخاطر این هست که شما میتونین در متغییری که با نوع یعنی integer (عدد صحیح) مشخص میشه در این بازه ها یعنی (
از 2,147,483,648- تا 2,147,483,647) مقدار ذخیره کنین . باز میتونی جواب سوالتو تو این عکسی که گذاشتم ببینی . موفق باشی.
122243

plus
چهارشنبه 22 مرداد 1393, 16:37 عصر
خب چرا از 647 تا 648 است.چرا از 647 تا 647 یا از 648 تا 648 نیست؟
چون تعداد اعدادی که میشه در یک مقدار باینری نگه داشت توانی از دو و در نتیجه زوج هست...حالا چون صفر هم باید ذخیره بشه نمیشه طرف منفی و مثبت دقیقا قرینه باشن، وگرنه تعداد زوج نمیشه.
به عبارت دیگه، از x- تا x+، تعداد اعدادی که هستن 2x + 1 هست که فرد میشه.برای زوج بودن تعداد یکی، باید کمتر باشه. از -x تا +(x- 1) تعداد اعدادی که هست 2x میشه.