c語言判斷一個數是否為偶數


#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、高度注意&的優先級低於==,這可是個意外啊。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM