如何高效地判断奇数和偶数
在我们日常的编程当中,常常会遇到判断某个整数属于奇数还是偶数的情况。
大家一般的处理做法是用这个整数和2取模。然后判断是等于1还是等于0。
这里,我要为大家介绍一种快速有效的判断做法,利用2进制进行判断。
大家都知道,奇数的最低位一定是1,而偶数的最低位一定是0.所以我们可以根据这个特性,让需要判定的整数和1进行“与”运算,这样就只留下了原数的最低位,然后直接判断这个数等于1还是等于0即可。
实现代码如下:
1
class Program
2
{
3
static void Main(string[] args)
4
{
5
6
bool s = OddEven.IsEven(4);
7
8
Console.WriteLine(s);
9
10
s = OddEven.IsOdd(55877554);
11
12
Console.WriteLine(s);
13
}
14
}
15
16
/// <summary>
17
/// 判断一个整数是奇数还是偶数。
18
/// </summary>
19
class OddEven
20
{
21
static private int s = 1;
22
23
static public bool IsEven(int a)
24
{
25
if ((a & s) == 0)
26
{
27
return true;
28
}
29
else
30
{
31
return false;
32
}
33
34
}
35
36
static public bool IsOdd(int a)
37
{
38
return !IsEven(a);
39
}
40
}
class Program2
{3
static void Main(string[] args)4
{5

6
bool s = OddEven.IsEven(4);7

8
Console.WriteLine(s);9

10
s = OddEven.IsOdd(55877554);11

12
Console.WriteLine(s);13
}14
}15

16
/// <summary>17
/// 判断一个整数是奇数还是偶数。18
/// </summary>19
class OddEven20
{21
static private int s = 1;22

23
static public bool IsEven(int a)24
{25
if ((a & s) == 0)26
{27
return true;28
}29
else30
{31
return false;32
}33
34
}35

36
static public bool IsOdd(int a)37
{38
return !IsEven(a);39
}40
}

浙公网安备 33010602011771号