在我们日常的编程当中,常常会遇到判断某个整数属于奇数还是偶数的情况。
大家一般的处理做法是用这个整数和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
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40
