方法同上,补充一下,感觉这个简洁快速些: System.out.println(i>>4 == 0); 测试数据: int m = 0; int i = 7; int k = 8; int l = -1; int j = 16; System.out.println(m>>4 == 0); System.out.println(i>>4 == 0); System.out.println(k>>4 == 0); System.out.println(l>>4 == 0); System.out.println(j>>4 == 0);结果: true true true false false
正解,比我的还简洁
return a&0xfffffff0==0
寄存器移位,速度最快:
各个数字对应2进制:
4:100
8:1000
16:10000
运行i>>3的结果:
i=16,结果:2
i为[8,16)间的数,结果1,
8以下的数,结果:0。
System.out.println(i>>4 == 0);
测试数据:
int m = 0;
int i = 7;
int k = 8;
int l = -1;
int j = 16;
System.out.println(m>>4 == 0);
System.out.println(i>>4 == 0);
System.out.println(k>>4 == 0);
System.out.println(l>>4 == 0);
System.out.println(j>>4 == 0);结果:
true
true
true
false
false
return (x>=0&&x<=16)?true:false;