PDA

View Full Version : دلیل خروجی برنامه



fshb_ 1370
جمعه 29 مرداد 1389, 10:49 صبح
سلام
چرا با نوشتن کد زیر عدد 20 در خروجی نمایش داده میشه؟(متغیر x)
چرا برای y عدد 1 در خروجی چاپ میشه؟
تفاوت این دو تا چیه؟


#include <iostream>
using namespace std;
int main()
{
int x = (1,024);
cout<<x<<endl;
int y;
y = 1,024;
cout<<y<<endl;
}

Salar Ashgi
جمعه 29 مرداد 1389, 10:56 صبح
عملگرهای مختلفی توی ++C ، وظایف مختلفی دارند ! این هم کار عملگر کاما (,) است .

fshb_ 1370
شنبه 30 مرداد 1389, 09:39 صبح
عملگر کاما اگه بدون پرانتز استفاده بشه (مثل y)عدد اول رو نسبت میده به متغیر، اما اگه با پرانتز استفاده بشه عدد بزرگتر رو در متغیر ذخیره میکنه، درسته؟
پس چرا تو اولی 20 چاپ میشه؟ ما که اصلا عدد 20 نداریم.

حامد مصافی
شنبه 30 مرداد 1389, 10:53 صبح
در خط

int x = (1,024);عدد دوم در x ذخيره مي شود كه معادل:

int x = 024; است و خروجي اين عدد هم 20 خواهد شد!
راز كار در عدد 0 جلوي 24 است، در اين حالت عدد در مبناي 8 محاسبه مي شود و 24 در مبناي 8 همان 20 خودمان است.

fshb_ 1370
شنبه 30 مرداد 1389, 11:46 صبح
در خط

int x = (1,024);عدد دوم در x ذخيره مي شود كه معادل:

int x = 024; است و خروجي اين عدد هم 20 خواهد شد!
راز كار در عدد 0 جلوي 24 است، در اين حالت عدد در مبناي 8 محاسبه مي شود و 24 در مبناي 8 همان 20 خودمان است.
یعنی همیشه اگه ابتدای عدد 0 قرار بگیره، عدد در مبنای 8 محاسبه میشه؟

حامد مصافی
شنبه 30 مرداد 1389, 11:55 صبح
بله، و اگر به جاي 0 عبارت 0x را در ابتدار عدد بنويسيد در مبناي 16 محاسبه مي شود.