C语言----判断n是否是2的次方数,利用到按位与,算法n(n-1)

//写一个代码,判断n是否是2的次方数
//if(n&(n-1))==0
/*
2的0次方是1---二进制1
2的1次方是2---二进制10
2的2次方是4---二进制1002的一次方-1是1---二进制是1
2的二次方-1是3---二进制是11
2的三次方-1是7---二进制是111
n与n-1  按位与后&是0就是0,两个1才是1
所以if(n&(n-1))==0的话
那么n就是2的次方数
*//*判断n是否是2的次方数*/
int main()
{int n;scanf("%d", &n);if (n & (n - 1)== 0) ;{printf("YES");}return 0;
}

 代码可能有点复杂,各位细品,主要就是&的用法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/16296.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络模型-BFD与网络协议联动

一、BFD:双向转发检测 双向转发检测BFD(Bidirectional Forwarding Detection)是一种全网统一的检测机制,用于快速检测、监控网络中链路或者IP路由的转发连通状况。 1、BFD优点: 对相邻转发引擎之间的通道提供轻负荷、快速故障检测。这些故障包括接口数据链路&#…

​✨聚梦AI绘图插件-for photoshop(基于ComfyUI) 内测版V0.1发布

🎈背景 photoshop本身是有AI生成能力的,不过限于种种原因,国内使用很不方便。 photoshop也是有AI插件的,不过大多安装起来比较复杂,或者,干脆就会收费。 所以我们做了一个免费的AI插件,期望能…

计算机毕业设计 | SpringBoot招投标 任务发布网站(附源码)

1,绪论 在市场范围内,任务发布网站很受欢迎,有很多开发者以及其他领域的牛人,更倾向于选择工作时间、工作场景更自由的零工市场寻求零散单子来补贴家用。 如今市场上,任务发布网站鱼龙混杂,用户需要找一个…

民国漫画杂志《时代漫画》第24期.PDF

时代漫画24.PDF: https://url03.ctfile.com/f/1779803-1248635000-177187?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了,截止1937年6月战争来临被迫停刊共发行了39期。 ps: 资源来源网络!

iOS ------多线程NSOperation,NSOperationQueue

1,NSOperation,NSOperationQueue简介 NSOperation,NSOperationQueue是苹果提供我们的一套多线程解决方案。实际上NSOperationa,NSOperationQueue是基于GCD更高一层的封装。但是比GCD更简单易用,代码可读性也会更高。 为什么要使…

基于xilinx FPGA的 FFT IP使用例程说明文档(可动态配置FFT点数,可计算信号频率与幅度)

目录 1 概述2 IP examples功能3 IP 使用例程3.1 IP设置3.2 fft_demo端口3.3 例程框图3.4 仿真结果3.5 仿真验证得出的结论4 注意事项5例程位置 1 概述 本文用于讲解xilinx IP 的FFT ip examples的功能说明,方便使用者快速上手。 参考文档:《PG109》 2 …

Python数据可视化(五)

实现GUI效果 借助 matplotlib,除可以绘制动画内容外,还可以实现用户图形界面的效果,也就是 GUI 效果。 GUI是用户使用界面的英文单词首字母的缩写。接下来,我们就以模块widgets中的类RadioButtons、 Cursor 和 CheckButtons 的使用…

Wpf 使用 Prism 实战开发Day25

首页待办事项及备忘录添加功能 一.修改待办事项和备忘录逻辑处理类,即AddMemoViewModel和AddTodoViewModel 1.AddMemoViewModel 逻辑处理类,添加View视图数据要绑定的实体类 Model public class AddMemoViewModel :BindableBase,IDialogHostAware{public AddMemoV…

【B站 heima】小兔鲜Vue3 项目学习笔记Day03

文章目录 Home1.Home整体结构搭建和分类实现2. banner轮播图功能3. Home 面板组件封装4.新鲜好物和人气推荐实现5. 图片懒加载指令实现6. Home- product产品列表实现7. Home-GoodsItem 组件封装 一级路由1. 整体认识和路由配置2. 面包屑导航3. 一级分类 - 轮播图的实现4. 激活状…

基于Pytorch框架的深度学习EfficientNet神经网络香蕉水果成熟度识别分类系统源码

第一步:准备数据 4种香蕉水果成熟度数据:overripe,ripe,rotten,unripe(过熟、熟、烂、未成熟),总共有13474张图片,每个文件夹单独放一种成熟度数据 第二步:搭…

ZEDmini使用完全指南

ZEDmini使用 ZED stereolabs 开箱测评 使用说明 ubuntu18.04nvidiacuda10 ubuntu18.04ZED SDK安装和使用 Ubuntu16.04安装NVIDIA显卡驱动 查看显卡信息 redwallredwall-G3-3500:~/catkin_ws$ lspci | grep VGA 00:02.0 VGA compatible controller: Intel Corporation Device …

sourcetree推送到git上面

官网:Sourcetree | Free Git GUI for Mac and Windows 下载到1次提交 下载后打开 点击跳过 下一步 名字邮箱 点击clone 把自己要上传的代码粘贴到里面去 返回点击远程->点击暂存所有 加载完毕后,输入提交内容提交 提交完成了 2次提交 把文件夹内的…

element-plus dialog 修改密码mask没有覆盖全屏

最近在使用element-plus中的Dialog对话框的时候,做修改密码的功能,我放在navbar组件中,造成了打开对话框的遮罩层无法全屏显示, append-to-body Dialog 自身是否插入至 body 元素上。 嵌套的 Dialog 必须指定该属性并赋值为 true 这个属性加到el-dialog上即可,然后…

# SSH端口转发之上网代理、正向代理、反向代理用法

SSH端口转发之上网代理、正向代理、反向代理用法 文章目录 SSH端口转发之上网代理、正向代理、反向代理用法1 ssh参数说明:2 一般用法:3 用法范例:4 示例与解释:5 SSH概念详解**5.1. SSH端口转发的概念****5.2. SSH端口转发的类型…

【java程序设计期末复习】chapter4 类和对象

类和对象 编程语言的几个发展阶段 (1)面向机器语言 计算机处理信息的早期语言是所谓的机器语言,使用机器语言进行程序设计需要面向机器来编写代码,即需要针对不同的机器编写诸如0101 1100这样的指令序列。 (2&#x…

力扣爆刷第144天之二叉树四连刷(完结二叉搜索树改变树结构)

力扣爆刷第144天之二叉树五连刷(二叉搜索树) 文章目录 力扣爆刷第144天之二叉树五连刷(二叉搜索树)一、450. 删除二叉搜索树中的节点二、669. 修剪二叉搜索树三、108. 将有序数组转换为二叉搜索树四、538. 把二叉搜索树转换为累加…

【JavaScript】文件下载

文件下载的消息格式 服务器只要在响应头中加入 Content-Disposition: attachment; filename"kxx" 即可触发浏览器的下载功能其中: attachment 表示附件,浏览器看到此字段,触发下载行为(不同的浏览器下载行为有所区别&…

CCF-GESP 等级考试 2024年3月认证C++一级真题解析

2024年03月真题 1 单选题 第 1 题 C表达式(3 - 2) * 3 5的值是( )。 A. -13B. 8C. 2D. 0 正确答案:B. 8 解析: 首先计算括号中的表达式 (3 - 2),得到 (1)。接下来进行乘法运算 (1 * 3),得到 (3)。最后进行加法运算 (3 5)&…

Linux:Ubuntu系统配置本地apt仓库

Linux:Ubuntu系统配置本地apt仓库 文章目录 Linux:Ubuntu系统配置本地apt仓库挂载本地的光驱到指定的挂载目录编辑开机挂载配置文件检查开机挂载配置文件的语法是否正确检查开机设置是否成功对原有的sourece.list文件进行重命名使其失效使用命令自动生成…

【二叉树】力扣OJ题

文章目录 前言1. 翻转二叉树1.1 题目1.2 解题思路1.3 代码实现1.4 时空复杂度 2. 对称二叉树2.1 题目2.2 解题思路2.3 代码实现2.4 时空复杂度 3. 平衡二叉树3.1 题目3.2 解题思路3.3 代码实现3.4 时空复杂度 结语 前言 本篇博客主要介绍二叉树的经典 OJ 题,题目主…