首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何获得给定数字的下一个2的幂?

如何获得给定数字的下一个2的幂?

要获得给定数字的下一个2的幂,可以使用以下公式:

代码语言:txt
复制
result = (power << 1) - 1

其中 power 是给定数字,result 是下一个2的幂。通过左移位运算符 << 可以将 power 变为它的2的幂,然后减去1,得到的结果就是下一个2的幂。

例如,如果 power 是10,那么 result 就是2(因为10的二进制表示是1010,10的下一个2的幂是1010 << 1 - 1 = 2)。

注意:这个公式只适用于正整数。如果给定的数字是负数,你需要使用其他方法来计算它的下一个2的幂。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 算法训练 2的次幂表示

    问题描述   任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。   ...将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0   现在约定幂次用括号来表示,即a^b表示为a(b)   此时,137可表示为:2(...7)+2(3)+2(0)   进一步:7=2^2+2+2^0 (2^1用2表示)   3=2+2^0   所以最后137可表示为:2(2(2)+2+2(0))+2(2+2(0))+2(0)...输入格式   正整数(1<=n<=20000) 输出格式   符合约定的n的0,2表示(在表示中不能有空格) 样例输入 137 样例输出 2(2(2)+2+2(0))+2(...,可以一边递归一边输出 import java.util.Scanner; /* * 用数组保存二进制数中1的位置(从0开始)之后递归输出 */ public class Main {

    48420

    回答2021:个体的获得感如何成为数字化的航行“灯塔”?

    1 数字化“迷航”星辰大海, 个体获得感成指路“灯塔” 实际上,随着以上云为主要形式的数字化深入发展,很多痛点也同时冒了出来:如何有效对接政企既有的业务系统、如何提升云计算资源的利用效率、如何保障运维的及时和高效...、如何保证数据和业务运行的安全、如何降低执行中的阻力…… 再加上不同的政企组织自己对数字化往往还有各种定义,在各种模式和挑战之下,驶向星辰大海的数字化却某种程度上陷入了迷航——到底朝什么样的方向前进,...具体来看,这种对数字化的获得感,又体现为随时、随地享受数字化成果的两大维度。...2 随时:场景找技术而不是技术找 场景,让个体需要被“即时响应” 在任何重要的时间节点,当个体需要数字化时,就总会有数字化服务出现在它面前,这种“随时”的获得感会直接证明数字化的价值。...而很显然,这些场景不是华为云推动数字化的全部,也不是数字经济表现出来的全部,未来还有更多场景需要实现数字化转型,但无论如何,让这些场景中的个体感受到技术的价值、拥有对数字化的获得感,一定是数字化在场景拓展过程中的共同目标

    23720

    如何理解 RESTful 的幂等性

    怎么理解幂等性 HTTP幂等方法,是指无论调用多少次都不会有不同结果的 HTTP 方法。不管你调用一次,还是调用一百次,一千次,结果都是相同的。 还是以之前的博文的例子为例。...,所以它是有可能是非幂等的操作。...如何设计符合幂等性的高质量RESTful API HTTP GET方法 vs HTTP POST方法 也许,你会想起一个面试题。HTTP请求的GET与POST方式有什么区别?...但是,我们现在从RESTful的资源角度来看待问题,HTTP GET方法是幂等的,所以它适合作为查询操作,HTTP POST方法是非幂等的,所以用来表示新增操作。...但是,实际上,两个方法都用于创建资源,更为本质的差别是在幂等性。HTTP POST方法是非幂等,所以用来表示创建资源,HTTP PUT方法是幂等的,因此表示更新资源更加贴切。

    56020

    如何理解 RESTful 的幂等性

    来源:http://t.cn/RVtwbmU 怎么理解幂等性 HTTP GET方法 HTTP POST方法 HTTP PUT方法 HTTP PATCH方法 HTTP DELETE方法 如何设计符合幂等性的高质量...怎么理解幂等性 HTTP幂等方法,是指无论调用多少次都不会有不同结果的 HTTP 方法。不管你调用一次,还是调用一百次,一千次,结果都是相同的。 还是以之前的博文的例子为例。...,所以它是有可能是非幂等的操作。...如何设计符合幂等性的高质量RESTful API HTTP GET方法 vs HTTP POST方法 也许,你会想起一个面试题。HTTP请求的GET与POST方式有什么区别?...但是,实际上,两个方法都用于创建资源,更为本质的差别是在幂等性。HTTP POST方法是非幂等,所以用来表示创建资源,HTTP PUT方法是幂等的,因此表示更新资源更加贴切。

    1.1K10

    如何获得开源技术的认可?

    事实上,从 2019年到 2021年,对 Kubernetes认证的需求增加了 455%。图 2 显示了 2021年对开源招聘经理最重要的技术。...正如图所示,最值得投入去学习并获取认证相关的技术包括云/容器技术、Linux 和网络技术。 图 2:2021 年对开源招聘经理最重要的技术,图片摘自开源工作报告。...通常在获得认证之前,大部分人需要完成一些相关的培训课程作为备考的手段。 Git 开源的基础是在分布式环境中工作,所以首先学习Git是非常重要的。...本课程是为开发人员设计的 Linux 简介,将解释如何安装 Linux 和程序、如何使用桌面环境、文本编辑器、重要的命令和实用程序、命令外壳和脚本、文件系统和编译器。...微服务 微服务是创建云应用程序的一种方法[2]。通过运用微服务架构,每个应用程序都由多个服务构建而成,这些服务运行自己的进程并通过 API 进行通信。

    79320
    领券