نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
أَللّهُمَّ ارْزُقْنی شَفاعَةَ الْحُسَیْنِ یَومَ الْوُرُودِ
مهدی دمیرچیلو

زوج یا فرد کردن اعداد در C++‎

498

به نام خدا : تو این مطلب چند تا روش برای زوج و فرد کردن اعداد میگم، که خب روش های ساده ( با استفاده از دستور if و یا با استفاده از عملگر : ? ) رو معمولا ازش استفاده میکنیم ولی خب یه روش خیلی ساده تر هم داریم که از عملگر & ( AND بیتی ) برای زوج کردن اعداد و از عملگر | ( OR بیتی ) برای فرد کردن اعداد استفاده میکنیم؛ که خب بنظرم این روش آخری رو زیاد استفاده نمیکنیم ( حداقل خودم! )، سر همین یکم باهاش غریبه هستیم، گفتم تو این مطلب بیام این روش خیلی ساده رو معرفی کنم.

زوج یا فرد کردن اعداد در C++‎

روش 1) خب حالا میخوایم عدد ورودی رو زوج یا فرد بکنیم، یه روش این کار به صورت زیر هستش، که میایم بررسی میکنیم که باقیمانده تقسیم متغییر بر 2، 0 هستش یا 1 هستش، اینطوری متوجه میشیم که عدد زوجه یا فرد، یه روش ساده و روتین؛ تقسیم ما در مبنای 10 ( دسیمال، Decimal ) صورت میگیره؛ کد زیر A رو به سمت پایین، زوج میکنه و B رو به سمت بالا، فرد میکنه :

روش 2) اینم همون کد بالا، فقط به جای دستور if، از عملگر : ? استفاده کردم؛ محاسبات در مبنای 10 ( دسیمال، Decimal ) هستش :

روش 3) یه روش دیگه هم داریم که که به کمک عملگرهای & و | انجام میشه، که در ادامه مطلب میگم؛ تو این روش محاسبات در مبنای 2 ( باینری، Binary ) هستش، فلذا اگه درباره اعداد باینری چیزی نمیدونید، همین الان بریم یه مطالعه ای دربارشون بکنید؛ درباره عملگرهای & و | هم اگه چیزی نمیدونید، یه سرچ کنید تو نت.

 

توجه 1 : در زیر نمایش باینری و صحیح اعداد -20 تا +20 رو میبینید ( متغییر int رو 16 بیتی فرض کردم ) :

نتیجه کد بالا ( البته یکم اصلاح کردم نتیجه رو ) :

 

توجه 2 : همونطور که در کد بالا دیدید، در مبنای باینری، بیت 0 ام هر عددی، زوج یا فرد بودن اون عدد رو تعیین میکنه؛ فلذا بیت 0 ام اگه :

  • 0 باشه یعنی عدد زوجه
  • 1 باشه یعنی عدد فرده.

به کمک همین موضوع، و با دستکاری بیت 0 ام هر عددی در مبنای 2، میشه عدد رو به سادگی زوج و یا فرد کرد، که برای این کار از عملگر های & ( برای زوج کردن ) و | ( برای فرد کردن ) استفاده میکنیم که در ادامه مطلب برای هر کدوم کد نمونه ای قرار میدم.

 

زوج کردن اعداد در C++ به کمک عملگر &

برای این کار از عملگر & ( AND بیتی ) استفاده میکنیم؛ تو این روش محاسبات در سطح باینری ( مبنای 2 ) هستش و نه دسیمال ( مبنای 10 )؛ کد زیر اعدد رو به سمت پایین، زوج میکنه :

توجه داشته باشید که :

 

فرد کردن اعداد در C++ به کمک عملگر |

برای این کار از عملگر | ( OR بیتی ) استفاده میکنیم؛ تو این روش محاسبات در سطح باینری ( مبنای 2 ) هستش و نه دسیمال ( مبنای 10 )؛ کد زیر اعدد رو به سمت بالا، فرد میکنه :

توجه داشه باشید که :

 

شما از کدوم روش استفاده میکنید؟ من که از روش 1 یا 2 استفاده میکنم ولی خب یه کدی رو دیدم از روش 3 استفاده کرده بود، سر همین گفتم یه توضیحکی بدم براش.

 

برچسب ها : برچسب/تگ یی پیدا نشد!
تعداد مطالب : 367 تا
جنگ ما فتح قدس را به همراه خواهد داشت. [ امام خمینی (ره) ]
بقیه جلسات : آموزش موضوعی CPP
ارسال دیدگاه
0