اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

استفاده از l در انتهای مقادیر صحیح

+1 امتیاز
323 نمایش

این که آخر مقادیر صحیح بزرگ l می‌ذارن به نظر اجباری نمی‌یاد. مثلاً‌ کد زیر


long int a = 125l;

پس گذاشتنش چه فایده‌ای داره که بعضی‌ها ازش استفاده می‌کنن؟ (اون ۱ نیست که بعد ۱۲۵ اومده٬ همین l هست که می‌گم :) )
یک مشکل در مورد C++ این است که هم‌اکنون گرایشی قوی در زبان وجود دارد که شما را وادار می‌کند پیش از انجام هر کاری، همه‌ی جوانب آن را بدانید. (Larry Wall)
پرسیده شده جمعه ۳ آذر ۱۳۹۱ در C++ توسط CPP_Crawler2  
بازتگ شده پنجشنبه ۲۲ فروردین ۱۳۹۲ توسط admin

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

این l یه کامپایلر می‌گه که این مقدار یه مقدار long هست. چون در حالت عادی این مقدار به عنوان int در نظر گرفته می‌شه. برای این کار هم دلایلی وجود داره. مثلاً هدایت کامپایلر به استفاده از تبدیل خودکاری که برنامه‌نویس دوست داره. جلوگیری از سرریزی مقدار از نوع متغیر. مثلاً کد زیر رو ببینیم


long int a = 1<<43;

قرار بر این بوده که ۲ به توان ۴۲ تولید بشه اما این طور نمی‌شه. چرا؟ چون کامپایلر مقدار 1 رو به عنوان int و ۳۲ بیتی در نظر می‌گیره و نتیجه‌ی نادرست تولید می‌شه. درستش اینه:

long int a = 1L<<43;
هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده چهارشنبه ۱۶ اسفند ۱۳۹۱ توسط prodo  
انتخاب شده شنبه ۱۸ خرداد ۱۳۹۲ توسط admin