用C语言如何简单的判断一个数是否是2的整数次幂?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 20:32:50

用C语言如何简单的判断一个数是否是2的整数次幂?
用C语言如何简单的判断一个数是否是2的整数次幂?

用C语言如何简单的判断一个数是否是2的整数次幂?
方法1:建立一个由2的整数幂组成的数组,再逐一比较.
方法2:构造循环,使其从1开始不断乘上2,同时与输入数进行比较,若小于则继续,若大于则不符合,若等于则该数为2的整数幂.
方法3:对一个数进行从2开始到其根号数下的开方,若大于二则继续,若小于二则该数不是,若等于2则该数是2的整数幂.

n和n-1按位进行与操作,结果是0即为2的方幂。
如:8的二进制1000b,8-1=7=0001b,按位与结果是0