PDA

View Full Version : توضیج در کورد این کد



NIMA_1981
جمعه 06 آبان 1390, 00:06 صبح
دوستان میشه بگید این خط کد چه کاری رو انجام میده


int sum ;
sum=5-2*'0';

shahmohammadi
جمعه 06 آبان 1390, 00:24 صبح
سلام.
کاراکتر '0' وقتی می خاد با 2 ضرب شه اول تبدیل می شه به نوع صحیح. و کد اسکیش مورد استفاده قرار میگیره.

NIMA_1981
جمعه 06 آبان 1390, 01:04 صبح
میشه بگید این کار چه فایدای داره

NIMA_1981
جمعه 06 آبان 1390, 01:05 صبح
یعنی جند ضرب در 2 میشه

vasilopita
جمعه 06 آبان 1390, 11:21 صبح
خوب از اونجایی که کد اسکیش 48 هستش پس 48 ضرب در 2 میشه
می تونی اینجوری کد اسکیش رو ببینی:
cout<<(int)'0';

shahmohammadi
جمعه 06 آبان 1390, 12:36 عصر
میشه بگید این کار چه فایدای داره

کلا وقتی دو متغیر که همنوع نیستند وقتی تو یه عملی با هم شرکت کنند اونی که اندازش کوچکتره به نوع بزرگتر تبدیل میشه.
این کد هم ممکنه در جاهایی کاربرد داشته باشه. اگه شما بگید از کدوم برنامه اینو برداشتید، می تونیم بگیم که این کد به چه دردی می خوره.

NIMA_1981
جمعه 06 آبان 1390, 14:31 عصر
دقیقا همین بود که شما گفتید واسه تبدیل عدد به رشته و برعکس استفاده میشه - یعنی این مقدار در کل معادله تاثیر نمیزاره ؟