با استفاده از عملگر باقی مانده ی تقسیم (%):
همون طور که در ریاضیات عددی زوج است که باقی مانده ی تقسیم اش بر دو ، صفر باشد. پس به عنوان یک روش با استفاده از % زوج بودن عددی را تعیین میکنیم:
boolean is_even = (n % 2 == 0);
تعیین زوج و فرد با استفاده از عملیات بیتی و عملگر بیتی &:
برای این کار ما به آخرین رقم از مقدار باینری عدد نیاز داریم که با and کردن آن با یک به دست می آید. به این صورت:
number & 1
اگر حاصل یک باشد، عدد فرد است و اگر صفر باشد، عدد زوج است.
برای مثال :
1-پنج فرد است پس:
0000 0101 & 0000 0001 = 0000 0001
2- و شش زوج است:
0000 0110 & 0000 0001 = 0000 0000
و نمونه کد جاوا :
if( (number&1) == 0){ system.out.println("even"); }else{ system.out.println("odd"); }در زیر کاپوت :
همان طور که میدانید عملگر منطقی and (&) دو مقدار دودویی با طول مساوی دریافت کرده و بر روی هر جفت بیت متناظر، عملیات عطف منطقی را انجام میدهد. نتیجه وقتی ۱ میشود که اولین بیت و دومین بیت هر دو با هم ۱ باشند، در غیر این صورت صفر خواهد بود.
جدول زیر را در نظر بگیرید:
| 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 |
دو به توان هر عدد صحیح غیر منفی و صفر ، همیشه زوج خواهد بود. (نمی دونم صفر مثبته یا منفی؟)
کمترین ارزش را سمت راست ترین رقم خواهد داشت. و مقدار آن در صورت صحیح بودن یک خواهد بود.
عدد یک در مبنای دو برابر با یک است و به سمت چپ تمامی ارقام صفر خواهند بود و این هیچ تاثیری بر ارزش عدد ندارد. (00000001) .
هر عدد فردی یک عدد زوج به علاوه یک است. پس اگر کم ارزش ترین رقم در مبنای دو صحیح باشد و دارای مقدار یک ، عدد فرد خواهد بود و در غیر این صورت عدد زوج است.
به عبارتی دیگر عطف منطقی با عدد یک، باعث میشود تمام ارقام عدد مورد آزمایش به غیر از آخرین رقم صفر شود و اگر رقم آخر یک باشد نتیجه یک می شود و فرد بودن عدد مورد آزمایش را نتیجه میدهد.
ما را در سایت حذف فایل ها از یک مخزن در github دنبال میکنید
برچسب: نویسنده: بازدید: 12