位置: 编程技术 - 正文

js 判断一个数字是不是2的n次方幂的实例(js 判断一个数字是否相等)

编辑:rootadmin

推荐整理分享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.

js 判断一个数字是不是2的n次方幂的实例(js 判断一个数字是否相等)

按位与运算: 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 转载请保留说明!

上一篇:微信小程序wx.request实现后台数据交互功能分析

下一篇:css和js实现弹出登录居中界面完整代码(css实现弹窗)

  • 装修设计合同印花税
  • 城镇垃圾处理费的计税依据
  • 税务证需要多少费用
  • 税务师考试报名
  • 职工薪酬如何做账
  • 小微企业应纳税所得额怎么计算
  • 投标成交服务费
  • 企业向个人借款是否合法
  • 员工宿舍买热水器计入什么费用
  • 股票交易费用计算器
  • 网线的税收编码是多少
  • 未分配利润期末余额在借方还是贷方
  • 小规模销售收入要做销项税额吗
  • 30万的车税可以抵多少钱
  • 资本公积转增股本什么意思
  • 高新技术企业分类
  • 土地增值税清算规程实施细则
  • 会计成本核算工作内容
  • 会计凭证的内容中应包括会计分录
  • 汽车固定资产清理账务处理
  • 工地水电包公包料的细节
  • 车间报销费用的会计分录
  • 发票验证系统费用多少钱?
  • 营改增典型案例
  • 跨年的增值税普通发票可以入账吗
  • 申报截止日期前还能用吗
  • 累计折旧余额怎样结转
  • 无偿划转房产能否入递延收益
  • 建筑工地仓库管理流程
  • linux系统安装浏览器
  • 收到发票未抵扣谁开红字
  • php使用redis缓存技术
  • php字符串变量
  • 期间损益结转有余额
  • PHP:ignore_user_abort()的用法_misc函数
  • 营业外收入增加说明什么问题
  • php rewind
  • 结算备付金管理办法(2019年修订版)
  • vue默认首页
  • php数组函数题目
  • 外贸企业退运后的进项税如何处理
  • 轻资产并购
  • yii2 resetful 授权验证详解
  • vue路由使用方法
  • Vue3通透教程【十二】TS类型声明优势
  • 域名续费多久生效
  • 重分类调整分录汇总表什么情况填写
  • python中assert()函数
  • hashmap的使用场景
  • 报关单填制相关规范相关文件
  • 电子承兑被退回要重新背书怎么办
  • 法人股东的分红怎么算
  • 工程材料费发票没拿到是否能预提费用?
  • 挂靠的项目如何做账?
  • 资本公积溢价转增
  • 专利代理服务费如何记账
  • 滴滴电子普通发票能抵扣进项税吗
  • 单位补扣社保算漏交吗
  • 转贴现占谁的授信
  • 坏账计入管理费用,摘要怎么写
  • 短期借款利息的使用账户是
  • 非流动资产基金借贷方表示
  • mysql char函数
  • mysql用处
  • xp系统直接开机
  • centos添加自启动
  • windows更新驱动程序需要多久
  • ubuntu系统安装程序
  • 电脑键盘上f1到f12快捷键的功能分别是
  • win7 media center
  • linux远程桌面连接工具
  • win10输入法怎么添加美式键盘
  • 手机摇一摇插件
  • android网络请求时怎么取消
  • ug输入代码
  • 介绍一个简单的实验
  • 原生js常用的方法
  • 广东国税局官网网站
  • 少交税费违法吗
  • 实木地板什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设