(n−1) 解析: 二进制数字 n 最右边的 1 变成 0 ,此 1 右边的 0 都变成 1 。
n & (n - 1) 解析: 二进制数字 n 最右边的 1 变成 0 ,其余不变。


例题1:剑指 Offer 15. 二进制中1的个数
请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。

public class Solution {public int hammingWeight(int n) {int res = 0;while(n != 0) {res++;n &= n - 1;}return res;}
}

例题二:2的幂
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。

class Solution {public boolean isPowerOfTwo(int n) {return n > 0 && (n & (n - 1)) == 0;}
}

n (n - 1)的用法相关推荐

  1. c语言中external,static关键字用法

    static用法: 在C中,static主要定义全局静态变量.定义局部静态变量.定义静态函数. 1.定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有 ...

  2. Pandas_transform的用法

    先来看一个实例问题. 如下销售数据中展现了三笔订单,每笔订单买了多种商品,求每种商品销售额占该笔订单总金额的比例.例如第一条数据的最终结果为:235.83 / (235.83+232.32+107.9 ...

  3. Python中yield和yield from的用法

    yield 后面接的是 future 对象 调用方 委托生成器 yield from 直接给出循环后的结果 yield from 委托者和子生成器直接通信 yield from 直接处理stopIte ...

  4. pytorch学习 中 torch.squeeze() 和torch.unsqueeze()的用法

    squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...

  5. python yield 和 yield from用法总结

    #例1. 简单输出斐波那契數列前 N 个数 #缺点:该函数可复用性较差,因为 fab 函数返回 None,其他函数无法获得该函数生成的数列 #要提高 fab 函数的可复用性,最好不要直接打印出数列,而 ...

  6. tf.nn.embedding_lookup()的用法

    函数: tf.nn.embedding_lookup( params, ids, partition_strategy='mod', name=None, validate_indices=True, ...

  7. OpenMP用法大全

    OpenMP基本概念 OpenMP是一种用于共享内存并行系统的多线程程序设计方案,支持的编程语言包括C.C++和Fortran.OpenMP提供了对并行算法的高层抽象描述,特别适合在多核CPU机器上的 ...

  8. Dorado用法与示例

    Dorado用法与示例 dorado用后总结 一.dorado概念 dorado的产品全名是"dorado展现中间件".从产品形态上dorado由两部分组成,第一部分是一个具有AJ ...

  9. TensorFlow用法

    TensorFlow用法 什么是TensorFlow TensorFlow是一个开源软件库,用于使用数据流图进行数值计算.图中的节点表示数学运算,而图的边缘表示流动的多维数据数组(张量).这种灵活的体 ...

  10. TensorFlow Keras API用法

    TensorFlow Keras API用法 Keras 是与 TensorFlow 一起使用的更高级别的作为后端的 API.添加层就像添加一行代码一样简单.在模型架构之后,使用一行代码,可以编译和拟 ...

最新文章

  1. pytorch支持java吗_5分钟!用Java实现目标检测 (PyTorch)
  2. opencv c++ 贴图
  3. jQuery笔记总结篇
  4. python多线程实现生产者消费者_用Python实现多线程“生产者-消费者”模型的简单例子...
  5. CUDA out of memory. Tried to allocate 392.00 MiB (GPU 0; 10.76 GiB total capacity; 652.77 MiB alread
  6. chrome打开清除浏览数据窗口快捷键
  7. 搭建云计算机win10,win10家庭版连接云主机
  8. 信贷系统学习总结(2)——现金贷之借贷模式与前端产品
  9. Adb命令笔记 --菜鸟的笔记
  10. atomic原子类实现机制_原子操作CAS及其实现类
  11. 使用快捷工具搜狗词库转txt和mmseg
  12. Vue3+elementplus搭建通用管理系统实例七:通用表格实现上
  13. 小米笔记本适合计算机专业吗,小米笔记本性价比如何?该不该买?这篇最客观了。...
  14. 【SPARC】SPARC V8寄存器介绍
  15. 10个流行常用的Django第三方包-大江狗推荐
  16. 【经验分享】IT领域7年工作经验和建议
  17. office2021、Excel2021设置密码
  18. LightSwitch 社区内容汇总 – 2012年9月
  19. 计算机开机无法进入桌面,电脑开机不能进入系统界面的故障修复
  20. 为什么需要划分VLAN?

热门文章

  1. RK3588 Android12 SDK 中在device介绍及如何新建自己的产品lunch项
  2. HTTP Referer介绍和使用
  3. 953. 验证外星语词典( 简单模拟 + 自定义定制排序 )
  4. VB:SysInfo控件
  5. MATLAB,关于SOLVE函数报错的问题
  6. 【面试】Js面试题(一)
  7. 【SCA-CNN 解读】空间与通道注意力:Spatial and Channel-wise Attention
  8. matplotlib之绘制散点图
  9. 程序员必读书籍一览表
  10. 程序员最该买的十本书