PDA

View Full Version : مبتدی: عملگر توان در #C



javady_joon
پنج شنبه 11 مهر 1392, 11:09 صبح
سلام دوستان
ببخشید چرا من مینویستم
int y=2^0 جوابش میشه 2؟
عملگر توان در #C چرا اینجوری عمل میکنه؟
ممنون میشم کمک کنید

rezaei_y
پنج شنبه 11 مهر 1392, 11:51 صبح
دوست عزیز این عملگر برای xor استفاده میشه برای توان از تابع زیر استفاده کن
double p= Math.Pow(2, 0);

javady_joon
جمعه 12 مهر 1392, 18:20 عصر
نمیشه کاری کرد
این تابع روی عملگر int عمل کنه؟؟؟

eternal67
جمعه 12 مهر 1392, 18:50 عصر
تا جایی که من میدونم ، خروجی این تابع از نوع Double هستش ، خوب شما میتونید اینجوری تبدیل کنید.
long p =Convert.ToInt64( Math.Pow(2, 0));
خروجی long int میشه ، ولی اگه کلا با Double مشکل دارین ، میتونید خودتون یه تابع توان بنویسید که خروجیش int باشه ، ولی دراون صورت هم در محدوده بین 2147483648- تا 2147483647 جواب خواهد داد.

habibb
جمعه 12 مهر 1392, 21:20 عصر
int r = Convert.ToInt32(Math.Pow(2, 0));



int r = (int) Math.Pow(2, 0);

mmd2009
شنبه 13 مهر 1392, 03:22 صبح
با سلام

محدوده ی اعداد در متغیرهای عددی ( صحیح ، شناور و .. ) متفاوته ، پس سعی کنید اگر میخواید تبدیلی رو انجام بدید در یک حالت امن این کارو بکنید ، مثلا به این شیوه :


checked
{
try
{
var convertDoubleToInt = Convert.ToInt32(Math.Pow(2, 0));
}
catch (OverflowException)
{
...
}
}


موفق باشید