PDA

View Full Version : توضیح در مورد ( "&&" و "&" و "||" و "|" )



SeyedMoosavi
سه شنبه 22 بهمن 1387, 15:42 عصر
سلام
من می خواستم بدونم که این علامت ها چیکار میکنند
می دونم که :
&& = AND منطقی
& = AND باینری
|| = OR منطقی
| = OR باینری
اما وقتی که میگن
a=12 ; b=15
a && b
a & b
a|| b
a | b
(a>b) && b
یعنی چی؟
اینا رو استادمون داده جلسه اول توضیحی در موردشون نداد به خاطر همین توشون موندم
نمی خوام جوابشون رو بدین می خوام بدونم یعنی چی
دستتون درد نکنه

A.S.Roma
سه شنبه 22 بهمن 1387, 22:31 عصر
با سلام

من فکر می کنم اینجوری باشه :
اساتید محترم در صورت اشتباه بودن تصحیح فرمایند .


a && b
a و b به عنوان دو پارامتر Bool ارزیابی قرار می گیرند که تنها دو State دارند. ( True یا False )
در C هم هر چیز غیر از صفر ، True و صفر False است.
پس با این تفاصل a&&b جوابش True یا عددی غیر صفر خواهد بود.


a & b
همان طور که فرمودید And منطقی ؛
در مثال شما a = 12 که به صورت binary می شود a = 1100 و همین طور b = 15 = 1111 که حاصل a&b برابر است با And تک تک بیت ها که می شود : a&b = 1100 یا همان 12 .

در مورد Or منطقی و بیتی هم استدلال بدین شکل است .
بدین صورت پاسخ عبارت آخر می شود False یا صفر.

خوش باشید ...

SeyedMoosavi
یک شنبه 27 بهمن 1387, 19:25 عصر
اگه امکان داره این قسمت رو بیشتر توضیح بدین :




a && b

a و b به عنوان دو پارامتر Bool ارزیابی قرار می گیرند که تنها دو State دارند. ( True یا False )
در C هم هر چیز غیر از صفر ، True و صفر False است.
پس با این تفاصل a&&b جوابش True یا عددی غیر صفر خواهد بود.

باتشکر

A.S.Roma
دوشنبه 05 اسفند 1387, 16:00 عصر
با سلام ؛

AND منطقی : دو عبارت منطقی را با هم AND می کند. ( Bool ) .
در برخی از نسخه های C تایپی به نام Bool وجود ندارد ، اما این عملگر وجود دارد !
هر متغییری که مقدارش صفر باشد به عنوان False و هر متغییر غیر صفری True ارزیابی می گردد.

شما مثلا در برنامه ای اینچنین می نویسید : ( در زبانهایی مانند C# کامپایلر اجازه چنین کاری را نمی دهد. )


while(!kbhit())
{
//Codes ...
...
}

مقدار بازگشتی تابع kbhit از جنس کاراکتر است . عملگر ! مقدار آنرا از صفر به غیر صفر و از غیر صفر به صفر تبدیل می کند و اصلا مقدار آن را در نظر نمی گیرد ! بلکه فقط در دو State آنها را می سنجد : True یا False .

امیدوارم توضیحات کافی بوده باشد.
خوش باشید ...

Alamat Soal
جمعه 09 اسفند 1387, 19:14 عصر
تا جایی که یادم می یاد تو برنامه نویسی در قسمت فایل هنگام استفاده از توابع دوست و io stream از || استفاده می کردیم