使用移位操作符实现奇偶数的判断,C和Java版1

原创 2013年12月05日 22:49:20

C语言版:

#include <stdio.h>


int fun_isodd(int x){


while(x!=-1){
if(((x>>1)<<1) == x){
return 0;   //是偶数
}
return 1;       //是奇数
}
return 1;       //是奇数
}


void main(){
int m;
printf("请输入一个整数:");
scanf("%d",&m);


int n = fun_isodd(m);
if(n == 1){
printf("%d:是奇数",m);
}else{
printf("%d: 是偶数",m);
}
}

Java中int型范围 -2147483648 到2147483647( 32位的带符号的,无符号的是0-2*2147483648)
Java版:


import java.util.*;


public class IsOdd
{
public static void main(String args[]){
Scanner s = new Scanner(System.in);//从键盘上输入


int m = s.nextInt();//读取一个整数

long time1 = System.currentTimeMillis();
if(oddEvenDiv(m) == 0)
System.out.println(m + ": 是偶数");
else
System.out.println(m + ": 是奇数");
long time2 = System.currentTimeMillis();


System.out.println(time1);
System.out.println(time2);
}


public static int oddEvenMove(int x){ //判断奇数偶数的函数
if(((x>>1)<<1)==x)  //使用移位,如果一个数右移一位,再左移一位(左移时最后一位补0),和原来的数相等,则为偶数
return 0;
else
return 1;
}


public static int oddEvenDiv(int x){//判断奇数偶数的函数
if(x%2 == 0)  //使用普通方法,对整数2取余
return 0;
else 
return 1;
}
}

位运算实例(一):判断奇偶性

同样一个问题,位运算可以提高程序的运行效率。下面讲一下关于奇偶性的判断。 常规方法public static boolean isOdd(int i){        return i % 2 != ...
  • taizhoufox
  • taizhoufox
  • 2009年09月23日 11:04
  • 10423

大数阶乘的一些经典问题解决

计算N!结果:首先实现利用字符串和vector实现大数的加法:两个字符串从最低位开始相加,把相加的结果存到char类型容器中,注意在相加的过程中设置一个进位符,直到较短的字符串相加完毕;之后把进位符加...
  • gukesdo
  • gukesdo
  • 2012年05月05日 10:17
  • 737

判断一个32非负整数是否是4的次幂,如果是,是4的多少次幂

转载自:http://blog.csdn.net/hackbuteer1/article/details/6681216 将4的幂次方写成二进制形式后,很容易就会发现有一个特点:二进制中只有一个...
  • wwe4023
  • wwe4023
  • 2017年07月23日 11:09
  • 163

C语言判断奇数偶数

#include void main() { int i; for(i=0;i
  • qq_21808961
  • qq_21808961
  • 2017年10月03日 22:00
  • 401

【c语言】判断一个数是奇偶数

// 判断一个数是奇偶数 #include void judge_sd(int a) { if ((a & 1) == 0) { printf("是偶数\n"); return; ...
  • zhaoyaqian552
  • zhaoyaqian552
  • 2015年06月29日 21:33
  • 1463

【C++ Primer】表达式

五、表达式 1. 求模 两个操作符都为负数,求模的结果为负数,或0: -21 % -8 =-5; 如果只有一个操作数为负数,则结果取决于机器;符号也取决于机器: 21 % -5 = 1 or -...
  • bjtu08301097
  • bjtu08301097
  • 2013年11月14日 20:14
  • 801

如何判断一个整数是否为奇数

        要想判断某个整数是否为奇数,首先我们要弄清楚“奇数”的概念。下面是数学中的定义:整数中,能被2整除的数是“偶数”,反之是“奇数”,偶数可用2k表示 ,奇数可用2k+1表示,这里k是整数...
  • golden0606
  • golden0606
  • 2006年11月15日 16:55
  • 1520

C语言中——三种方法判断是偶数还是奇数

#include int main(int argc, const char * argv[]) {     int a;     printf("请输入一个...
  • u012189584
  • u012189584
  • 2014年01月23日 12:40
  • 6026

JavaScript中in操作符

定义:in操作符用来判断某个属性属于某个对象,可以是对象的直接属性,也可以是通过prototype继承的属性。(参见hasOwnProperty)注意事项:n         对于一般的对象属性需要用...
  • slalx
  • slalx
  • 2010年09月27日 22:23
  • 19518

程序判断一个数是否为偶数 一个数是否为奇数

(判断一个数为偶数) #incliude void main() {        int n;        printf("input n");        scanf ("%d",...
  • qq_22222799
  • qq_22222799
  • 2015年10月29日 01:19
  • 558
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用移位操作符实现奇偶数的判断,C和Java版1
举报原因:
原因补充:

(最多只允许输入30个字)