Sian 发表于 2014-3-2 12:33:59

通过位运算来判断奇偶性

本帖最后由 Sian 于 2014-3-2 12:42 编辑

代码如下:
/*
1、提示输入一个数值;
2、将该数值与1进行位与运算
3、通过位与运算的结果可以得出数值的奇偶性
    数值:1010 1100 1101 0101
    位与:0000 0000 0000 0001
      --------------------
    结果:0000 0000 0000 000?
4、事实上是利用数值的二进制表现形式,如果是偶数,则二进制表示的最末位一定是0;如果是奇数,则二进制表示的末位一定是1;
5、其实位与运算的可读性并不好,但利用位与运算可以提高程序的运算程度,尤其是在大型的运算处理当中尤为明显,这是位与运算的价值所在
*/

#include <stdio.h>

int main() {

    int number = 0;
   
    printf("请输入一个整数:");
    scanf("%d", &number);
   
    // 三目运算 (判断条件)?(为真结果一):(为假结果二)
   (number & 1) == 1 ? printf("%d为奇数!\n", number):printf("%d为偶数\n", number);

}


页: [1]
查看完整版本: 通过位运算来判断奇偶性