二进制0和1的个数,2的次幂
目录
1、二进制中0的个数
2、二进制中1的个数
3、一个数是不是2的几次幂
1、二进制中0的个数
使用|运算:有一个是1则为1,x|(x+1)可以将数字二进制位的最低位的0改为1,逐渐递进,直到将二进制位改为全1,对应原码-1结束。
#include<stdio.h>
int main()
{char x =5, count = 0;while (x+1)//当x=-1的时候退出循环{count++;x =x|(x + 1);}printf("%d", count);return 0;
}
2、二进制中1的个数
&运算:同时为1才为1,x&(x-1)可以将x最低位的1改为0
#include<stdio.h>
int main()
{int x = 5, count = 0;while (x){x &= (x - 1);count++;}printf("%d", count);return 0;
}
3、一个数是不是2的几次幂
#include<stdio.h>
int main()
{//一个数是2的次幂 2^0=1 0001,2^3=8 1000//所以说二进制数只有一个1int x = 1;if(x<=0)printf("NO");else {x = x & (x - 1);if (x == 0)printf("YES");elseprintf("NO");}return 0;
}
#include<stdio.h>
#include<math.h>
int main()
{int n = 32;for (int i = 0; (int)pow(2, i) <= n ; i++){if ((int)pow(2, i) == n){printf("yes,%d次幂",i);return 0;}}printf("no");return 0;
}
二进制0和1的个数,2的次幂相关推荐
- c语言x在二进制表示下1的个数,算法:计算十进制数字在二进制表示1的个数,...
算法:计算十进制数字在二进制表示1的个数, 题目一 计算十进制数字在二进制表示 1 的个数 举个例子: 十进制数字为 1 时,它的二进制表示是 001,二进制表示 1 的个数为 1: 十进制数字为 2 ...
- JAVA实现输入一个整数,输出该数二进制表示中1的个数(《剑指offer》)
题目: 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 这个题目有个比较有意思并且被公认的解法,我就先贴答案吧: public class Solution {public int ...
- 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示
转自http://my.oschina.net/ithaibo/blog/142655 题目: 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 题目引自http://ac.jobdu ...
- 算法--微软面试:整数的二进制表示中1的个数(Java实现)
Q题目 整数的二进制表示中1的个数 输入一个整数,求该整数的二进制表达中有多少个1. 例如,输入10,由于其二进制表示为1010,有两个1,因此输出2. 这是一道很基本的考查位运算的面试题. Answ ...
- 题库练习5(句子逆序、字符串排序、int型二进制表示中1的个数、购物单)
1. 句子逆序 将一个英文语句以单词为单位逆序排放.例如"I am a boy",逆序排放后为"boy a am I".所有单词之间用一个空格隔开,语句中除了英 ...
- 计算数值二进制表达式中1的个数
--------------------------------------------- -- 时间:2019-03-21 -- 创建人:Ruo_Xiao -- 邮箱:xclsoftware@163 ...
- BZOJ3209(n的二进制表示中1的个数的乘积)
题目:花神的数论题 设 sum(i) 表示 i 的二进制表示中 1 的个数.给出一个正整数 N ,求 sum(1)至sum(N) 的乘积. #include <iostream> #inc ...
- 整数的二进制表示中 1 的个数
2019独角兽企业重金招聘Python工程师标准>>> 题目:整数的二进制表示中 1 的个数 要求: 输入一个整数,求该整数的二进制表达中有多少个 1. 例如输入 10,由于其二进制 ...
- 《剑指offer》-统计整数二进制表示中1的个数
题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 直观思路就是把二进制表示从右往左统计1的个数.直接想到移位操作来迭代处理.坑点在于负数的移位操作会填充1.有人贴出了逻辑移位 ...
最新文章
- httpclient异步发送请求_关于Tornado5.1:到底是真实的异步和还是虚假的异步
- BV-Person: A Large-scale Dataset for Bird-view Person Re-identification
- 四位达林顿_ULN2069B - 80 V - 1.5 A四路达林顿开关 - STMicroelectronics
- 2.6.24及以上版本内核裁剪后启动黑屏的解决办法
- GPU Gems1 - 21 实时辉光(Real-Time Glow)
- jqueryui dialog asp.net服务端控件失效问题解决
- 解决 Tomcat 添加 Cookie 域名报错问题 : CookieProcessor
- Qt creator5.7 OpenCV249之图片膨化(含源码下载)
- 2017-9-11 - A - webServer
- python tkinter 中文文档_Python实现中文文档的简体与繁体互相转换
- python廖老师_Python3.5-20190518-廖老师-自我笔记-面向对象
- 多线程下单例设计模式的实现
- 如何批量Ping 1000个IP地址,一个小技巧节约N小时?
- GitKraken 比较好用的 Git 可视化工具
- Login.jsp登录页面代码(css+bootstrap)
- 在服务器上打不开新点投标文件,新点投标文件制作操作手册.doc
- html5转换成mp4,ffmpeg将mov文件转换为mp4的HTML5视频标签IE9
- RE:Working outside of application context
- 使用CCS调试CC3200芯片GPIO接口应用----流水灯程序
- ZFS 设置指南(二)