位运算

是不是2的整数次方

如果已经吃透了上一道题《二进制数中“1“比特的个数》,只要稍加思考,就会发现这道题与上一道的考点是一样的,都是判断"1"比特的个数。

题目:是不是2的整数次方
题目描述:用一条语句(注意:一条语句)判断一个整数是不是2的整数次方结题思路:1、若一个数为2的整数次方,则其二进制只有一个1比特,其余全为01.1、例如:2 --> 0000 0010, 16 --> 0001 00002、设整数为N,执行一次 (N-1) & N == 0 是否成立。即可判断public class 是不是2的整数次方 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int N = scanner.nextInt();System.out.println("十进制数:" + N);System.out.println("二进制数:" + Integer.toString(N, 2));/** 1的二进制:00000001* 2的二进制:00000010* 4的二进制:00000100* 8的二进制:00001000* 16的二进制:00010000* 由上可得,2的整数次方,则只有一个1个1比特* 因此,问题可转化为:二进制中1的个数是不是1个* 因为题目要求一条语句*/System.out.println(((N - 1) & N) == 0);}
}

调试结果:


如有错误,敬请指正!

算法题_位运算_4_是不是2的整数次方相关推荐

  1. 算法题_位运算_9_出现一次的数字和出现k次的数字

    位运算 出现一次的数字和出现k次的数字 题目:出现k次和出现1次 描述:数组中只有一个数出现了1次,其他的数都出现了k次,请输出只出现1次的数. 第一次看到这道题,思考了一会,觉得可以使用Map集合来 ...

  2. HYSBZ(BZOJ) 4300 绝世好题(位运算,递推)

    HYSBZ(BZOJ) 4300 绝世好题(位运算,递推) Description 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<= ...

  3. c语言用位运算将一个数清零,C语言学习笔记_位运算

    C语言学习笔记_位运算 知识点记录 基本位运算 按位与:全1为1,见0为0:与1相与无变化,与0相与变为0:可用于特定位清零 按位或:见1为1,全0为0:与1相或变为1,与0相或无变化:可用于特定位置 ...

  4. 算法之美 | 位运算的巧妙奥秘(一) | JAVA中位运算的深入浅出

    文章目录 前言 一.位运算符号 二.位运算的运算规则 扩展 前言 传智杯初赛后有感而写,我目前阶段所学习的算法,只是最基础的数学,对于数字和数学公式还是不敏感,在小卡与质数2那道题,解题的思路只有最基 ...

  5. 【算法技巧】位运算装逼指南

    位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子.不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也 ...

  6. java的简单算法题_[2]十道算法题【Java实现】

    前言 清明不小心就拖了两天没更了-- 这是十道算法题的第二篇了-上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下, ...

  7. LeetCode刷题:位运算(找不同 和 只出现一次的数字)

    1.常见的位运算 按位与&:(1&1=1,1&0=0,0&1=0,0&0=0); 按位或 | : (1 | 1=1,1 | 0=1,0 | 1=1,0 | 0= ...

  8. 疯子的算法总结(一) 位运算(快速幂、快速乘)

    一.预备知识(补码,反码) 计算机通过二进制表示整形数,比如int型32位有符号整形数: 1表示为:0000-00001(共32位) -1表示为:1111-1111(共32位) 补码计算法定义:非负数 ...

  9. 【算法】 - 动态规划 + 位运算

    题目描述 思路1: 写一个返回2进制中1数量的函数countOne 遍历0到num,对每一个数使用countOne,并将结果保存到res中返回 var countBits = function (nu ...

最新文章

  1. PAT(甲级)2019年春季考试 7-2 Anniversary
  2. 考考基础部分,谈谈Java集合中HashSet的原理及常用方法
  3. Android OTA在线升级二(升级包编译原理分析) 【转】
  4. CF里面的资源载入问题
  5. 图文分析 OSPF 的特点
  6. java 数组的冒泡排序
  7. Webpack进阶(二)代码分割 Code Splitting
  8. MySQL 为表创建、添加、删除以及查看索引的语法
  9. android可以设计的软件,不懂APP如何设计?送你10条Android设计原则
  10. 打开VsCode经常弹出:尝试在目标目录创建文件时发生一个错误:拒绝访问:重试 跳过这个文件(不推荐),关闭安装程序
  11. N70常用软件大集合
  12. 国培计算机网络技术培训心得,2017国培学习心得体会及感受
  13. signature=530d9c5e7e99d796faa35352560aede4,Visual Detection of Volcanic Plumes
  14. ios vs android设计
  15. 解决 SQLite报错:OperationalError: row value misused
  16. 用不可逆算法MD5进行加密后,如何进行登录验证
  17. 孙陶然:不要轻易开始创业
  18. 10270 : 青蛙的游戏
  19. pip安装selenium
  20. vant tabbar遮挡内容的解决方式

热门文章

  1. 如何跳过Nexus 7二代的开机设置
  2. 希捷 sshd 微型计算机,总结:希捷SSHD薄盘的优/缺点_希捷 Laptop Thin 500GB 5400转 8GB混合硬盘_内存硬盘评测-中关村在线...
  3. 移动适配(引入js知识)
  4. QTP的键盘鼠标录制
  5. UE4 安卓打包失败“Build-tool 31.0.0 is missing DX”
  6. 雅虎金融目前在其IOS应用中提供4种加密货币的交易服务
  7. 【计组】二进制炸弹bomblab Phase1-6
  8. Oracle数据库解决NULL值不走B树索引
  9. 关于高考志愿填报的小贴士
  10. i5 10400f参数 i5 10400f可以超频吗