当前位置: 首页 > article >正文

判断一个数是不是2的次方数

1,2,4,8,16....等都是2的次方数,对应的二进制分别在各自的第一位,第二位,第三位.....为1,其余都是0,所以要判断一个数是不是2的次方数,就只需要判断他的二进制数中有且只有一个1

要判断二进制中有且只有一个1,就可以用到按位与(&),n&(n-1)就可以让n的二进制位中少一个1。列如二进制数1010,1010-1=1001,1001&1010==1000,就会少最右边的一个1


http://www.kler.cn/a/290873.html

相关文章:

  • I.MX6U 启动方式详解
  • 【RAG实战】Prompting vs. RAG vs. Finetuning: 如何选择LLM应用选择最佳方案
  • YoloV8改进策略:Head改进|DynamicHead,利用注意力机制统一目标检测头部|即插即用
  • 再服务器上建立新的编译环境
  • 汽车IVI中控开发入门及进阶(47):CarPlay开发
  • 算法,递归和迭代
  • 碰撞检测 | 详解矩形AABB与OBB碰撞检测算法(附ROS C++可视化)
  • flask-解决跨域问题
  • Grafana仪表盘设计最佳实践:如何创建有效的监控面板
  • 【ShuQiHere】“初识人工智能:智能机器的基础入门”
  • 关于HarmonyOS的学习
  • 3.js - Water2不显示水波纹
  • k8s调度、污点、容忍、不可调度、排水、数据卷挂载
  • Flux【大模型】【写实模型】:人脸特美画质细腻意境优美的真境写实摄影FluxAura 大模型
  • 测试 UDP 端口可达性的方法
  • 图文解析保姆级教程:Postman专业接口测试工具的安装和基本使用
  • Linux 进程概念 进程状态 fock函数讲解
  • Object-Android关键字,伴生对象,Kotlin静态
  • SOA通信中间件介绍(二)
  • 海康威视 嵌入式 面经 海康威视嵌入式软件 嵌入式硬件总结面试经验 面试题目汇总
  • 经验笔记:容器化
  • livekitAI对话实践(python+next)
  • Java-互斥锁死锁释放锁
  • STM32G474之TIM1更新中断
  • 【JAVA GC垃圾回收器】JAVA GC垃圾回收算法,垃圾回收器,垃圾回收策略总结,可达性分析算法,分代垃圾回收
  • 探究 Eureka 在 Spring Boot 中的配置注入与统一管理机制(下)——第四节