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

Java-判断整数是否2的整数次幂

https://blog.csdn.net/li_xunhuan/article/details/90138499 题目描述: 给定一个整数...,编写一个函数来判断它是否是 2 的幂次方。...解释: 20 = 1 示例 2: 输入: 16 输出: true 解释: 24 = 16 示例 3: 输入: 218 输出: false 方法1:我们对一个数字进行为运算操作,经过观察显然有2的整数次幂其二进制数只有一位...1,那么我们利用这个特点,进行位右移操作,统计1个总个数,最后凭借总个数判断是否2的整数次幂 代码1: class Solution { public boolean isPowerOfTwo(int...1的特点进行解题,但是不再用位移操作,二是利用一个性质,2的整数次幂如1000 减1得到的数0111,除了最高位,其余位都为1,那么进行与运算必得到0;但是如果不是2的整数次幂,其-1,最高位并仍然

1.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何优雅判断属性

    假设我们现在需要取出 a.b.c,但是并不清楚它们是否都存在,那么代码会写成这样: if (a && a.b) { const c = a.b.c } 其实这样的代码在项目中出现的频率是很高的,如果需要取的层级过深的话...不过可选链在某些场景下还是存在坑的,比如如下代码: const a = { b: { c: false } } 假如说我们希望在取值 a.b.c 中给 c 设置一个默认 true /...c || true 但是在这个场景下就会出现 Bug,预期是 false,结果答案 true。 解决这个问题也很简单,再引入一个新语法双问号即可。...这个语法的作用和 || 是类似的,但是只有当取值 null 或者 undefined 时才会使用默认。 // false const c = a?.b?.c ??...以上就是本文的内容,说句题外话,感觉以后 JS 代码中会被各种问号所占据。

    4K20

    1、判断传入的参数0或整数的多种思路

    一、判断字符串是否整数的多种思路 1)使用sed加正则表达式 删除字符串中的所有数值,看字符串长度是否0来判断 [ -n "`echo oldboy123|sed 's#[0-9]##g'`" ]...[推荐] expr进行整数计算,如果参与计算的是非整数,就会报错,查看返回就能确定 expr oldboy + 0 &>/dev/null;echo $?...0 5)通过双中括号的正则判断 具体用法man bash查看帮助 [[ oldboy123 =~ ^[0-9]+$ ]] && echo int || echo char char [[ 345678123...=~ ^[0-9]+$ ]] && echo int || echo char int 二、判断字符串是否0的多种思路 1) 使用字符串表达式-z和-n [ -z "oldboy" ] && echo...假如要求传入两个参数,则可以直接判断第二个参数是否空,如果空,则表示第二个参数不存在 [ -z $2 ] && echo "zero" || echo "no zero"

    89930
    领券