逖靖寒的世界

每天进步一点点

导航

如何高效地判断奇数和偶数

在我们日常的编程当中,常常会遇到判断某个整数属于奇数还是偶数的情况。

大家一般的处理做法是用这个整数和2取模。然后判断是等于1还是等于0。

这里,我要为大家介绍一种快速有效的判断做法,利用2进制进行判断。

大家都知道,奇数的最低位一定是1,而偶数的最低位一定是0.所以我们可以根据这个特性,让需要判定的整数和1进行“与”运算,这样就只留下了原数的最低位,然后直接判断这个数等于1还是等于0即可。

实现代码如下:

 1class 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    }


 

posted on 2007-11-21 14:22  逖靖寒  阅读(10992)  评论(50编辑  收藏  举报