java布尔方法判断偶数_用于检查数字位数的Java布尔算法是偶数

该博客介绍了如何使用Java编写一个递归方法来判断一个数字的二进制位数长度是否为偶数。通过不断除以2来移位,直到数字小于2,从而确定其二进制表示的位数。这种方法对于非负整数有效,对于负数,由于最高位是符号位,因此可以认为它们始终具有偶数位数。
摘要由CSDN通过智能技术生成

检查输入是否为2的幂是无关紧要的.您应该编写一个递归方法,在每次调用中删除一位.

数字具有偶数二进制长度,如果只有它具有奇数长度,如果从中删除一位.

static boolean hasEvenLength(int n)

{

if (n<2) { // single digit

return false;

}

return !hasEvenLength(n/2);

}

这可以处理非负输入.对于负数,我可以说你应该总是返回true,因为最高位(符号位)总是被设置,所以你可以说这个数字有32个二进制数字.

这是0到99之间所有数字的方法输出:

0 0 false

1 1 false

2 10 true

3 11 true

4 100 false

5 101 false

6 110 false

7 111 false

8 1000 true

9 1001 true

10 1010 true

11 1011 true

12 1100 true

13 1101 true

14 1110 true

15 1111 true

16 10000 false

17 10001 false

18 10010 false

19 10011 false

20 10100 false

21 10101 false

22 10110 false

23 10111 false

24 11000 false

25 11001 false

2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值