c语言判断一个数是否为偶数

本文介绍了一种使用C语言来判断一个整数是否为偶数的方法。通过位运算符“&”来检查数字的最低位是否为0,以此确定该数是否能被2整除。文章还强调了位运算符“&”与比较运算符“==”之间的优先级关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <stdio.h>
#include <stdbool.h>
_Bool isOu(int n){ 
    //高度注意:&的优先级低于==                                                                    
    if((n&1)==0){
        return true;
    }   
    else{
        return false;
    }   
}
int main(int argc, char *argv[])
{
    int a=23,b=26;
    printf("a=23,b=26\n");
    printf("a is %s\n",isOu(a)?"ou":"ji");
    printf("b is %s\n",isOu(b)?"ou":"ji");

    return 0;
}

1、对一个数位与1是用来取位,n&1就可以将数字n最低位取出,如果n最低位是0(这里指n的二进制表示,所有的数在内存均是以二进制形式表示),那么表示n为偶数,因为最低位为0,表示可以整除2,这是二进制常识(如果不理解,可以看110,1230,350,201,29810这几个随机选的10进制数那些可以整除10,为什么?你就明白为啥二进制尾部为0,可以整除2了)。如果n最低位为1,那么表示n为奇数。

2、高度注意&的优先级低于==,这可是个意外啊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值