用一个表达式而不是一个循环语句 判断一个数X是否是2的N次方(2,4,8,16......)
2012-04-10 21:52
519 查看
可以发现:2,4,8,16.......的二进制分别为10,100,1000,10000.....
所以如果X减1后与X做按位与运算的结果为0,或者如果X减1后与X做按位或运算的结果为1,那么X是2的N次方。
所以如果X减1后与X做按位与运算的结果为0,或者如果X减1后与X做按位或运算的结果为1,那么X是2的N次方。
相关文章推荐
- 输入任意大小的三个整数,判断其中是否有两个奇数一个偶数。若是,则输出“YES”,不是则输出“NOT” (要求用条件表达式进行判断,不使用if语句)
- 不使用循环,判断一个数是否是2的N次方
- c语言:不用if,else语句,也不用循环条件等,输入一个字符,判断是否为大写字母
- 不用循环语句,判断一个数是否是2的次方
- 输入三个数,用条件表达式,不能用if语句,判断是不是两个奇数一个偶数,是就输出Y,不是就输出N。
- 不使用循环,判断一个数是否是2的N次方
- c语言:不用if,else语句,也不用循环条件等,输入一个字符,判断是否为大写字母
- USTC机试—递归的判断一个整数和其逆序数之和是否是回文数,如果不是回文数则如此往复求和直到是回文数,输出求和的次数
- 判断一个数(x)是否是2的n次方
- 有一个数列(1)循环输出数列的值(2)求数列中所有数值的和(3)猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含次数
- 假设表达式中允许包括3中括号:(,[,{,设计一个算法采用顺序栈判断表达式中的括号是否正确配对
- 位运算判断一个数是否为2的n次方
- 判断一个字符串是否是回文,如果是,返回字符串“yes”,如果不是,返回字符串“no”
- 4.5、 Shell编程中判断判断表达式及if,for while循环 语句使用讲解
- python 判断一个正整数是否循环素数
- 你那么厉害还不是要进来看我用For循环判断一个数是否是素数。
- 循环输入一个100以内的数,判断是否输入正确。
- 【c语言】 输入一个字符,判断它是否为大写字母,如果是,将它转换成小写字母,如果不是不转换
- 写一个脚本checkipadd.sh,判断所输入的参数是否为正确的IP地址,如 果是就输出"This is ip address";如果不是就输出"This is not ip address" (1
- 创建一个FileputStream类对象读取文件中的内容,并使用循环判断是否到达文件尾