判断是否为2的次幂

简介: 判断是否为2的次幂
int a = 3;
int num = a & (a - 1);
if (a>0 && num == 0) {
    // 2的次幂
}else{
    //
}
复制代码
十进制 二进制
0 0
2 10
4 100
8 1000

只要是2的次幂,就肯定只有一位是1,减1之后,相当于取反了

这2个数与操作之后肯定为0



目录
相关文章
|
Java Apache
解决gradle下载慢的问题
解决gradle下载慢的问题
10274 0
|
6月前
|
供应链 前端开发
如何做好供应商分级管理?一文讲清供应商全生命周期管理
本文探讨了供应商分级管理的必要性及合理分类方法,解析了如何通过供应商管理系统实现全生命周期管理,涵盖从潜在供应商评估到淘汰退出的各个环节。文章介绍了多种分级模式,如按合作关系、物料重要性及绩效评分进行分类,并结合DMAIC模型实现高效供应商管理。通过系统化策略,企业可提升管理效率、降低成本,优化供应链协同效率。
|
存储 SQL JSON
mysql中根据json格式进行查询等操作
一般在mysql中,我们根据会存储json格式的文本内容,有的情况下,我们需要利用json的key去查询对应的value问题那么mysql支持对json格式数据的解析操作吗?当然是支持的事实上mysql5.7以上都已经支持json的操作,以及增加了json存储类型Mysql5.7版本以后新增的功能,Mysql提供了一个原生的Json类型,Json值将不再以字符串的形式存储,而是采用一种允许快速读取文本元素(document elements)的内部二进制(internal binary)格式。.
747 0
mysql中根据json格式进行查询等操作
|
10月前
|
SQL 前端开发 关系型数据库
现在啥软件都有开源,BI 呢?
一直以来国内的同学想找一个方便好用的开源 BI 都不是一件易事,国外的页面不好修改,国内的基本都收费,现在有了润乾开源 BI 了,同学们可以去试一下了,润乾是做报表起家,是报表行业的领头羊,报表功能好,BI 功能也不差,还天然弥补了 BI 缺少报表能力的短板
|
供应链 区块链 数据安全/隐私保护
智能合约技术在供应链管理中的应用与挑战####
智能合约,作为区块链技术的重要组成部分,正逐步渗透至供应链管理领域,以其自动化执行协议、增强透明度与效率的特性,重塑着传统供应链的运作模式。本文旨在探讨智能合约如何在供应链中发挥作用,解决现有问题,并分析面临的挑战及可能的解决方案。通过具体案例分析,揭示其在提高供应链透明度、降低成本、加速交易速度等方面的潜力。 ####
|
测试技术 调度 Android开发
Flutter系列:关于ensureInitialized()
Flutter系列:关于ensureInitialized()
377 5
|
数据安全/隐私保护 流计算
BUUCTF [MRCTF2020]你能看懂音符吗 1
BUUCTF [MRCTF2020]你能看懂音符吗 1
309 1
|
Linux C语言 Android开发
ESP8266透传:利用STM32f103zet6发送数据到HTTP服务器
ESP8266透传:利用STM32f103zet6发送数据到HTTP服务器
826 0
|
前端开发 JavaScript 算法
万万没想到,React 优先级队列的实现方式,跟我书里写的一模一样
万万没想到,React 优先级队列的实现方式,跟我书里写的一模一样
322 0
|
数据可视化 测试技术 uml
UML的五种视图——Rational Rose的四种视图
UML的五种视图——Rational Rose的四种视图
1304 0