113.Power of Four

来源:互联网 发布:js date 比较大小 编辑:程序博客网 时间:2024/05/17 22:57

Given an integer (signed 32 bits), write a function to check whether it is a power of 4.

Example:
Given num = 16, return true. Given num = 5, return false.

Follow up: Could you solve it without loops/recursion?

Credits:
Special thanks to @yukuairoy for adding this problem and creating all test cases.

Subscribe to see which companies asked this question

分析:是4的整数幂的整数的二进制长度应该是奇数,并且二进制中只有最高位为1其他均为0.

/**     * @date 20160420     * 一个数为4的整幂数,则其对应的二进制一定是奇数位,并且只有最高位是1.     */    public boolean isPowerOfFour(int num) {               if(num == 0){          return false;        }               if( Integer.toBinaryString(num).length() % 2 != 1){           return false;       }else{            return (num &(num-1)) == 0;        }    }    

0 0
原创粉丝点击