位置: 编程技术 - 正文
推荐整理分享js 判断一个数字是不是2的n次方幂的实例(js 判断一个数字是否相等),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:js判断一个数字是否为整数,js判断一个数字有几位数,js判断一个数字有几位数,js 判断一个数字是否相等,js判断一个数字是否是偶数,js判断一个数字是否为整数,js判断一个数字是否是偶数,js判断一个数字是否为整数,内容如对您有帮助,希望把文章链接给更多的朋友!
昨天去面试时,面试官问了一道面试题,说如何判断一个数是不是2的n次方幂,我当时不知道2的n次方幂是什么(糗大发了),还好给我解释了一下。最后回家上网查查资料,整理了一下方法。
方法一
如何判断一个数是否是2的n次方幂,其简单判断方法就是这个数num直接除2,若余数为0,则num/2再除2,再判断是不是余数是不是0,是的话继续按上一步来,直到最后为num=1。
比如:
2 2%2=0 (2/2)=1 是
4 4%2=0 (4/2)%2=0 (4/2/2)=1 是
6 6%2=0 (6/2)%2=1 不是
7 7%2=1 不是
%2=0 (/2)%2=0 (/2/2)%2=0 (/2/2/2)%2=1 不是
代码实现:
结果如下:
方法二
通过二进制的方法可以判断一个数num是不是2的n次方幂,规律可知,只要是2的次方幂,必然是最高位为1,其余为0,当num-1时,则最高位是0,其余是1.
按位与运算: 1&1=1 0&1=0 0&0=0 1&0=0
2 ---> 3 --->
4 ---> 6 --->
8 ---> 7 --->
例子:
8 的二进制 8-1 的二进制 按位与运算 & --> 所以8是2的n次方幂。
9 的二进制 9-1 的二进制 按位与运算 & ---> 所以9不是2的次方幂。
的二进制 -1 的二进制 按位与运算 & ---> 所以不是2的次方幂。
可以通过num.toString(2)来写出num的二进制。
代码实现:
结果如下:
另外 1也是2的0次方幂。
还有其他条件没有写出,这个方法是来判断一个数是不是2的n次方幂,并没有写出这个数是不是整数,可以的话,自己添加条件判断。
以上这篇js 判断一个数字是不是2的n次方幂的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。
css和js实现弹出登录居中界面完整代码 我实现的这个和许多网站上的登录弹出窗口差不多,大家举一反三,先看我写完后的结果。点击创建相册后会在这个屏幕的中间显示创建相册的表单,
Javacript中自定义的map.js 的方法 js中没有map这个类,只能自己写一个。以下map.js和map-util.js都是自定义的map,任选其一就可以。你可以用它来像java里newMap()和put()、remove()、get()等方法。m
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析 本文实例讲述了微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法。分享给大家供大家参考,具体如下:微信小程序为年1月9日打下了
标签: js 判断一个数字是否相等
本文链接地址:https://www.jiuchutong.com/biancheng/369874.html 转载请保留说明!友情链接: 武汉网站建设