C++程序,用于判断一个数字是否为2的幂
检查一个给定的数字是否是2的幂。首先检查以下哪些数字是2的幂,哪些不是。此代码检查该数字是否是奇数,然后同时对其进行除法,直到它变为0或奇数。如果它变为0,则它是2的幂,否则不是。
一个更好的选择是取该数字的对数。如果是整数,则n是2的幂,否则不是。2的幂的数字
2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048 ... 22 = 4 25 = 32 210 = 1024
Input: 8 Output: Number is power of 2
说明
一种简单的方法是直接取该数字以2为底的对数,如果得到一个整数,则该数字是2的幂。
通过不断用2对N进行除法,如果N是偶数。如果最后它变为1,则N是2的幂
示例
#include <iostream>
using namespace std;
int main() {
int n=8;
if(n>0) {
while(n%2 == 0) {
n/=2;
}
if(n == 1) {
cout<<"Number is power of 2"<<endl;
}
}
if(n == 0 || n != 1) {
cout<<"Number is not power of 2"<<endl;
}
return 0;
}
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C编程
C++
C#
MongoDB
MySQL
JavaScript
PHP