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

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

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

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

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

实现代码如下:

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    }

 

转自http://www.cnblogs.com/gpcuster/archive/2007/11/21/967155.html 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机网络作业 CH4 数据链路层 20132184 朱彦荣 软件工程2班 一、填空题 1) 允许发送站发送多个帧而不需要马上应答,这就是__滑动窗口协议___。滑动窗口 协议需要一个__发送_ 窗口和一个__接收_ 窗口。 2) HDLC有三种不同类型的帧,分别称为__信息帧__、_监控帧__、__无编号帧__。 3) 起止式异步通信规程将每个字符看成是一个独立的信息单元,字符中各个比特用 固定的时钟 频率传输,字符间的间隔是任意的。每个字符由四个部分组成__起始位_、_数据 位__、_奇偶校验位_、__停止位_。 4)常用的两种流量控制方法是_停等协议_、__滑动窗口协议__。 5)在实际的通信中,通常双方都有数据要发送给对方可以在数据段增加一个字段 ,专门用来携带给对方的应答信息,称为_捎带协议_。 6)HDLC的帧结构,它由_帧起始和停止_、_地址、_数据_、_控制_和_CRC校验_字 段组成。 7) Internet的两个数据链路层协议是_SLIP _或__PPP_协议 8)PPPoE的英文全称是 PPP over Ethernet 二、单项选择题(选出一个正确的答案,并将其号码填在题干的括号内。) 1. 在数据链路层传送的协议数据单元为( 3 ) (1)比特 (2) 报文分组 (3)帧 (4) 报文 2. 滑动窗口协议中,接收窗口保存的是( 2 ) (1) 可发送的帧序号 (2) 可接收的帧序号 (3) 不可发送的帧序号 (4) 不可接收的帧序号 3. 在滑动窗口协议中,若窗口的大小为N位,则发送窗口的最大值为( 4 ) (1) N (2) 2N (3) 2N-1 (4) 2N-1 4.HDLC属于( D) A. 面向字符的同步控制协议 B. 面向字节的异步步控制协议 C. 异步协议 D. 面向比特的同步控制协议 三、多项选择题 1. 下面属于数据链路层的协议是( AC ) A.PPP B.FTP C.SLIP D.IP E.SNMP 数据链路层的主要功能包括(  ABD ) 差错控制 B)流量控制 C) 拥塞控制 D)帧格式定义及帧定界 E)比特传输 HDLC的监督帧用于差错控制和流量控制,定义了如下命令: "选择编 "Code "Command " "号 " " " "A "00 "RR Receive Ready " "B "01 "REJ REJect " "C "10 "RNR Receive Not " " " "Ready " "D "11 "SREJ Selective " " " "REJect " 请问,( B )命令用于差错控制;( C )命令用于流量控制 在以太网帧类型(TYPE)定义中,哪些用于哪些用于IP协议?( A );哪些用于ARP协议?( C );哪些用于PPPoE协议? (B ) A) 0800 B)8863 C) 0806 D)8864 E)809B 四、判断正误 1) 同步传输时字符间不需要间隔 ( ) 2) HDLC是面向字节的异步通信协议。( ) 3) SLIP协议属于面向字符协议 ( ) 4)数据链路层的报文名称叫分组 ( ) 5)奇偶校验可以发现单比特错误,二维奇偶校验可以自动纠正任意单比特错误。 ( ) 五、简答及计算题 1.在面向比特同步协议(HDLC)的帧数据段中,为了实现数据的透明传输,采用 "0"比特插入技术。假定在(十六进制)数据流中包含:5F、 9E 、 71、 7F、 E1,请给出其原始比特序列和"0"比特插入后的比特序列。 答: 原始比特序列为:01011111 10011110 01110001 01111111 11100001 "0"比特插入后的比特序列为:010111110 10011110 01110001 011111011 1 11000001 2.信道速率为4 kb/s。采用停--等协议工作。传播时延tp = 20 ms。假定确认帧长度和处理时间(含排队时延)均可忽略。问帧长为多少时才能 使信道利用率达到至少50%? 信道利用率为50%,相当于帧的发送时间等于线路传播时延,从而得出帧长为4kb /s^2^20^10^-3 = 160bit。 3.卫星信道的数据率为1 Mb/s。数据帧长为1000 bit。取卫星信道端到端传播时延为0.25秒,忽略确认帧长和节点的处理时间。试计算下 列情况下的信道利用率: (1) 停止等待协议。 (2) 连续ARQ 协议,WT(发送窗口大小) = 7。 (3) 连续ARQ 协议,WT = 250。 (4) 连续ARQ协议,WT = 500。 使用卫星信道端到端的传输延迟是250ms,以1Mb/s发送,1000bit长的帧的发送时间 是1ms。我们用t=0表示传输开始时间,那么在t=1ms 时,第一帧发送

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值