问题一:

给定一个正整数N,求其二进制形式的第一个比特位1(从低位到高位的顺序)。

例如,给定正整数12,其低8位二进制表示为:00001100

从低位到高位的顺序,第一个1出现在第三位。

版本一:

最低位开始,针对每一位进行与(&)操作判断是否为1,直到遇到第一个1为止。

算法实现(版本一):

    public static int getFirstBit1(int N){
     int mask = 1; int pos = 1; while(mask <= N){ if((N&mask) == mask){ break; }else { mask <<= 1; pos++; } } return pos; }

更多相关文章

  1. 字体图标的引入和通过媒体查询改变导航样式
  2. HTML样式和常用选择器
  3. 字体图标的引用和自定义样式/媒体查询的使用
  4. 数据库的CURD操作、PDO本质与原理的学习
  5. CSS之伪类选择器和简单盒子简单案例
  6. 伪类选择器与盒模型常用属性
  7. 伪类选择器-结构伪类、根据位置选择匹配
  8. 7.4——常用标签与应用场景之表格与单元格
  9. css伪类选择器和盒模型

随机推荐

  1. 用 Python 动态曲线图来对全球疫情进行演
  2. 小伙子不讲武德,竟用Python爬取了B站上1.4
  3. 合并/拆分 Excel?Python、VBA轻松自动化
  4. Python动态图见得多了?Excel:亦可赛艇!我可
  5. 使用Eclipse实现自定义Jmeter函数助手
  6. Python自动化办公 | 同事要我帮忙补写178
  7. 数据分析师必知必会:AB测试项目复盘(附PPT
  8. 如何创建你的第一个Python项目
  9. 升级版,用Python来进行多条曲线动态演示全
  10. 实战 | Python爬取B站柯南弹幕+Gephi梳理