CSDN论坛 > VC/MFC > 基础类

怎样判断一个数是2的多少次方。欢迎大家进来讨论,进者有分 [问题点数:0分]

Bbs2
本版专家分:288
结帖率 98.77%
CSDN今日推荐
Bbs6
本版专家分:7911
Bbs5
本版专家分:2889
Bbs5
本版专家分:2889
Bbs4
本版专家分:1394
Bbs5
本版专家分:2889
Bbs4
本版专家分:1394
Bbs5
本版专家分:2790
Bbs6
本版专家分:5817
Bbs4
本版专家分:1361
Bbs7
本版专家分:13123
Bbs6
本版专家分:9178
Bbs4
本版专家分:1775
Bbs5
本版专家分:3476
Bbs3
本版专家分:541
Bbs2
本版专家分:174
Bbs6
本版专家分:6638
Bbs1
本版专家分:20
Bbs6
本版专家分:5880
Bbs4
本版专家分:1550
Bbs2
本版专家分:117
Bbs4
本版专家分:1328
Bbs4
本版专家分:1143
Blank
红花 2003年11月 Oracle大版内专家分月排行榜第一
Blank
黄花 2003年12月 Oracle大版内专家分月排行榜第二
Blank
蓝花 2003年10月 Oracle大版内专家分月排行榜第三
Bbs2
本版专家分:233
Blank
红花 2003年8月 C/C++大版内专家分月排行榜第一
Bbs2
本版专家分:233
Blank
红花 2003年8月 C/C++大版内专家分月排行榜第一
Bbs2
本版专家分:233
Blank
红花 2003年8月 C/C++大版内专家分月排行榜第一
Bbs1
本版专家分:50
Blank
黄花 2014年10月 移动开发大版内专家分月排行榜第二
Bbs2
本版专家分:233
Blank
红花 2003年8月 C/C++大版内专家分月排行榜第一
Bbs6
本版专家分:6562
Bbs3
本版专家分:780
Bbs4
本版专家分:1451
Bbs1
本版专家分:11
Bbs2
本版专家分:309
Bbs5
本版专家分:3886
Bbs5
本版专家分:3886
Bbs2
本版专家分:281
Bbs1
本版专家分:97
Bbs1
本版专家分:5
Bbs3
本版专家分:517
Bbs1
本版专家分:1
Bbs10
本版专家分:155459
Blank
榜眼 2002年 总版技术专家分年内排行榜第二
Blank
进士 2001年 总版技术专家分年内排行榜第七
Blank
金牌 2002年1月 总版技术专家分月排行榜第一
Blank
银牌 2002年4月 总版技术专家分月排行榜第二
Bbs1
本版专家分:100
Bbs5
本版专家分:3211
Bbs5
本版专家分:3211
Bbs4
本版专家分:1299
Bbs1
本版专家分:7
Bbs6
本版专家分:7792
Bbs4
本版专家分:1303
Bbs2
本版专家分:148
Bbs3
本版专家分:749
Bbs3
本版专家分:915
匿名用户不能发表回复!
其他相关推荐
C#请写出代码判断一个整数是不是2的幂次方
思路一:通过递归 a/2计算 public static bool Judge(float a) { if (a == 1) return true; if (a < 1) return false; return Judge(a / 2);
判断一个数是否是2的整数次幂,python实现。
问题:判断一个数是否是2的整数次幂?分析一:判断一个数是否是是2的整数次幂。方法和思路也很多,其中最简单的就是,用这个数除以2用除的商再除以2,直到最后被除数为2,证明这个数是2的整数次幂。这种思路简单,但是略显笨重。我们采用第二种思路。 分析二:由于2这个数在计算机中是一个比较特殊的数。计算机是以二进位制进行运算的。于是有了按位与,或,异或和非的运算。2的整数次幂都有一个共同的特点,就是以二进制
【C语言】判断一个数是否为2的n次方
//判断一个数是否为2的n次方 #include int is_two_n(int num) { if ((num&(num - 1))) //去掉一个1,判断是否为0 return -1; return 1; } int main() { int a; printf("请输入数字:"); scanf_s("%d",&a); if (is_two_n(a)==1) pri
怎么判断一个数是不是2的n次方
怎么判断一个数是不是2的n次方 #include <stdio.h>void judge_n(int a) { int b = a - 1; if ((a & b) == 0) { printf(是2的n次方 ); return; } else { printf(不是2的n次方 ); re
位运算(一):判断一个正整数是否可表示为2的N次方
题目:判断一个正整数num是否可表示为2的N次方。 对于这样一道题目,最简单的做法就是定义一个变量,并让其以2的n(n=0,1,2,3,...)次方递增,每次递增后与num比较,如果相等则返回true,直到递增到大于num,返回false。 /************************************************************************/ /*
C++算法之 一句话判断一个整数是不是2 的整数次方
思路:一个整数如果是2的整数次方,那么它的二进制表示中有且只有一位是1,而其他所有位都是0。把这个整数与这个整数减去1之后进行与运算,那么这个整数当中唯一的 1会变为0,这个整数也变为0; 代码: // Is2.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include using namespace std; bool is
不使用循环,判断一个数是否是2的N次方
对于判断一个数是否为2的N次方问题,通常想到的最为直接的办法就是对这个数不断对2取余,为0就将该数变为该数除以2,直到最后该数为1为止。  void judge(int n)  {  while(!(n % 2))  {  n = n / 2; if(n == 1) { printf("yes!\n);
如何判断一个数是不是2的n次幂
题目:给定一个整数num,判断这个整数是否是2的N次方。比如,2,4,8是2的那次方,6,10不是2的N次方。 请看下面的程序: public static bool Check1(int num) {     int i = 1;     while (true)     {         if (i > num)             return fals
java 如何判断一个数是否为2的整数次幂
当不考虑负数时,对于此题分析可知,当输入值小于1时,此数肯定不是2的整数次幂。 当输入值大于一时,我们可以发现一个规律。2的整数次幂用二进制表示为: 2d = 10b;  4d = 100b; 8d = 1000b 二进制首位为一,其余各位均为零。 所以我们可以通过判断输入值转换为二进制时首位为一,其余各位为0,这样就能保证输入值为2的整数次幂。 但是这样做又过于繁琐,我们可以只判断二进
判断一个数字是否为2的阶次方
如8,16,64,256都是2的阶次方。 解析:     2的n次方,换成2进制,则首位都是1,后面都是若干个0。2^n-1则是若干个1。直接拿这个数字进行&与运算,得到的值总是0。例如8=1000    7=0111  2个数字进行&运算,得到的是0。那么我们就可以拿来判断了。即表达式为: if(d&(d-1) == 0){ return true; }else{return fa
关闭