回答了上一篇日志中的一个问题:怎样知道一个数字是不是2的乘方?
在网上搜索了一下,自己总结后,整理出三个方法,代码如下:
package testPass; /** *for positive integer only! *@author 孙如意 rysun@qq.com */ public class IsPowerOfTwo { public static void main (String args[]){ System.out.println("the method of regular expersion: 128 is a power of 2 ? " + method1(128)); System.out.println("the method of bit operation: 128 is a power of 2 ? " + method2(128)); System.out.println("the method of mod operation: 128 is a power of 2 ? " + method3(128)); } /** * based on regular expression * @param num * @return wheather the num is a power of two */ public static boolean method1(Integer num){ String binNum = Integer.toBinaryString(num); //a number which is a power of 2 in binary has only one 1 and starts with it return binNum.matches("10*"); } /** * based on bit operation * @param num * @return wheather the num is a power of two */ public static boolean method2(Integer num) { if ((num & (num-1)) == 0) { return true; } return false; } /** * based on mod operation * @param num * @return wheather the num is a power of two */ public static boolean method3 (Integer num) { if(num > 0){ while(num > 0){ if (num % 2 == 1) { return false; }else { num /= 2; if(num == 1 ) { return true; } } } } return false; } }
您还没有登录,请您登录后再发表评论
数字图像处理作业图像运动模糊&约束最小二乘方滤波MATLAB源码及实验报告
鉴于c++支持+-+-+-1=-1,但是出现连+或连-时会报错的混乱情况,本程序允许在数字和变量前加一个+或-号用来变号,即2+-1 3*-x -3++2是支持的,但是多于一个的额外+-号将报错,即3+-+2 +-1是不支持的 ---------------...
(1)加减乘除(/总返回一个浮点数) (2)// 取整 % 取余 **乘方 三:数字类型转换 上面的方法进行转换 四:数学函数 (1)math库中的函数abs, exp, max,min,pow(x, y)等 (2)随机数函数random()\...
40027 从高位开始逐位输出一个整数的各位数字(选作) 39 40052 判断素数 40 40053 逆序输出整数 41 40054 输出斐波那契序列 42 第7周(M7) 42 50002 使用函数判断数的符号 42 50003 使用函数求奇数和 43 50005 使用...
利用栈实现算术表达式的求值,表达式中可包含加+、减(负) -、乘*、除/、 乘方^、括号( )运算符,操作数...• 方法 2: 若已断定是负号,则紧接其后的数字字符转换成数值后,要 将其对应的相反数(负数)压入操作数栈
一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数。 例如: 当N=3时,153就满足条件,因为 1^3 + 5^3 + 3^3 = 153,这样的数字也被称为水仙花数(其中,“^”表示乘方,5^3...
对于非常庞大的数字无法在计算机中正常存储,于是,将这个数字拆开,拆成一位一位的,或者是四位四位的存储到一个数组中, 用一个数组去表示一个数字,这样这个数字就被称谓是高精度数。高精度算法就是能处理高精度...
c++(NOIP)高精度加法源代码 高精度算法(High Accuracy Algorithm)是...对于非常庞大的数字无法在计算机中正常存储,于是,将这个数字拆开,拆成一位一位的,或者是四位四位的存储到一个数组中, 用一个数组去表示一个数字,
本程序从设计上来讲,主要分为两个重点部分,一个是数字的输入,即逐个点击单个 数字(包括小数点)之后,这些数据能够在显示区正确的显示。第二个是数据的计算, 先输入第一个计算参数,然后选择计算方式,再输入...
表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子。设计一个程序,演示用算符优先法对算术表达式求值的过程。 【基本要求】 以字符序列的形式从终端输入语法正确的、不含变量的整数表达式。...
关于数据存储问题 计算器完成的是一个数学表达式,本次课程设计我选用的是使用链表(Linkedlist类 )来存储数字和运算符号。程序运行后,输入的所有数字及运算符号都全部存储在链表中 ,待最后运算时,再一一求出来...
问题描述 给定一个十进制正整数,判断其是否为同构数。所谓同构数是这样的一些数,它出现在其平方数的右边,例如5是出现在$5^2=25$右边的数,25是出现在$25^2=625$右边的数,所以5和25都是同构数。 输入 输入数据有...
任何一个QBASIC源程序都要使用字符集,并要求按照语法规则来写。 2. QBASIC基本字符的分类 1. 英文字母 2. 阿拉伯数字 3. 标点符号 句号 . 逗号 ,冒号 : 分号 ; 问号? 叹号 ! 及其它。 4. 运算符 可以分为四大...
Matlab中的变量不需要声明,但变量名命名时第一个字符不可以是数字 2.常见常量 (1) pi 为圆周率Π (2) i,j为虚数单位 (3) Inf为无穷大值 (4) NaN为空值 (5) e为自然对数e (三)运算符及常见函数 1....
一个用C++实现的计算器的小程序 可以实现 加减乘除运算 可以删除输入的数字
发明了世界上第一部机械 式计算器,在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿 轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另外 一个窗口中,但是只能做...
黑-0、棕-1、红-2、橙-3、黄-4、绿-5、蓝-6、紫-7、灰-8、白-9、金-±5%、银-±10%、无色-±20%当电阻为四环时,最后一环必为金色或银色,前两位为有效数字, 第三位为乘方数,第四位为偏差。当电阻为五环时,最後一...
相关推荐
数字图像处理作业图像运动模糊&约束最小二乘方滤波MATLAB源码及实验报告
鉴于c++支持+-+-+-1=-1,但是出现连+或连-时会报错的混乱情况,本程序允许在数字和变量前加一个+或-号用来变号,即2+-1 3*-x -3++2是支持的,但是多于一个的额外+-号将报错,即3+-+2 +-1是不支持的 ---------------...
(1)加减乘除(/总返回一个浮点数) (2)// 取整 % 取余 **乘方 三:数字类型转换 上面的方法进行转换 四:数学函数 (1)math库中的函数abs, exp, max,min,pow(x, y)等 (2)随机数函数random()\...
40027 从高位开始逐位输出一个整数的各位数字(选作) 39 40052 判断素数 40 40053 逆序输出整数 41 40054 输出斐波那契序列 42 第7周(M7) 42 50002 使用函数判断数的符号 42 50003 使用函数求奇数和 43 50005 使用...
利用栈实现算术表达式的求值,表达式中可包含加+、减(负) -、乘*、除/、 乘方^、括号( )运算符,操作数...• 方法 2: 若已断定是负号,则紧接其后的数字字符转换成数值后,要 将其对应的相反数(负数)压入操作数栈
一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数。 例如: 当N=3时,153就满足条件,因为 1^3 + 5^3 + 3^3 = 153,这样的数字也被称为水仙花数(其中,“^”表示乘方,5^3...
对于非常庞大的数字无法在计算机中正常存储,于是,将这个数字拆开,拆成一位一位的,或者是四位四位的存储到一个数组中, 用一个数组去表示一个数字,这样这个数字就被称谓是高精度数。高精度算法就是能处理高精度...
c++(NOIP)高精度加法源代码 高精度算法(High Accuracy Algorithm)是...对于非常庞大的数字无法在计算机中正常存储,于是,将这个数字拆开,拆成一位一位的,或者是四位四位的存储到一个数组中, 用一个数组去表示一个数字,
本程序从设计上来讲,主要分为两个重点部分,一个是数字的输入,即逐个点击单个 数字(包括小数点)之后,这些数据能够在显示区正确的显示。第二个是数据的计算, 先输入第一个计算参数,然后选择计算方式,再输入...
一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数。 例如: 当N=3时,153就满足条件,因为 1^3 + 5^3 + 3^3 = 153,这样的数字也被称为水仙花数(其中,“^”表示乘方,5^3...
表达式计算是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子。设计一个程序,演示用算符优先法对算术表达式求值的过程。 【基本要求】 以字符序列的形式从终端输入语法正确的、不含变量的整数表达式。...
一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数。 例如: 当N=3时,153就满足条件,因为 1^3 + 5^3 + 3^3 = 153,这样的数字也被称为水仙花数(其中,“^”表示乘方,5^3...
关于数据存储问题 计算器完成的是一个数学表达式,本次课程设计我选用的是使用链表(Linkedlist类 )来存储数字和运算符号。程序运行后,输入的所有数字及运算符号都全部存储在链表中 ,待最后运算时,再一一求出来...
问题描述 给定一个十进制正整数,判断其是否为同构数。所谓同构数是这样的一些数,它出现在其平方数的右边,例如5是出现在$5^2=25$右边的数,25是出现在$25^2=625$右边的数,所以5和25都是同构数。 输入 输入数据有...
一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数。 例如: 当N=3时,153就满足条件,因为 1^3 + 5^3 + 3^3 = 153,这样的数字也被称为水仙花数(其中,“^”表示乘方,5^3...
任何一个QBASIC源程序都要使用字符集,并要求按照语法规则来写。 2. QBASIC基本字符的分类 1. 英文字母 2. 阿拉伯数字 3. 标点符号 句号 . 逗号 ,冒号 : 分号 ; 问号? 叹号 ! 及其它。 4. 运算符 可以分为四大...
Matlab中的变量不需要声明,但变量名命名时第一个字符不可以是数字 2.常见常量 (1) pi 为圆周率Π (2) i,j为虚数单位 (3) Inf为无穷大值 (4) NaN为空值 (5) e为自然对数e (三)运算符及常见函数 1....
一个用C++实现的计算器的小程序 可以实现 加减乘除运算 可以删除输入的数字
发明了世界上第一部机械 式计算器,在他的计算器中有一些互相联锁的齿轮,一个转过十位的齿轮会使另一个齿 轮转过一位,人们可以像拨电话号码盘那样,把数字拨进去,计算结果就会出现在另外 一个窗口中,但是只能做...
黑-0、棕-1、红-2、橙-3、黄-4、绿-5、蓝-6、紫-7、灰-8、白-9、金-±5%、银-±10%、无色-±20%当电阻为四环时,最后一环必为金色或银色,前两位为有效数字, 第三位为乘方数,第四位为偏差。当电阻为五环时,最後一...