输入一个数,判断这个数的二进制有几个0,几个1(完整代码)
思路
按位与1 进行 &运算(都是1 才是1),比较一次,移位一次,
可以(左)移1的位置,也可以(右)移num(输入的数)
右移num(注意,右移符号位补符号位,故设定无符号的整形)
#include <stdio.h>int main()
{printf("input number>>>");unsigned int num = 0;int one = 0;//1 的个数int zero = 0;// 0 的个数int i = 0;scanf("%u",&num);//sizeof 输出占多少个字节,一个字节8位二进制数,由于刚开始比较了一位,故循环次数-1for(i=sizeof(num)*8-1;i>=0;i--){//根据运算符优先级,&运算需要加运算符,if((num & 1) == 1) {one++; }else{zero++; }num = num >> 1;} printf("one == %d\n",one);printf("zero == %d\n",zero);return 0;}
左移 1 ;(由于num没有移动,没有变化,故不用考虑num符号位的问题)
#include <stdio.h>int main()
{printf("input number>>>");int num = 0;int one = 0;//1 的个数int zero = 0;// 0 的个数int i = 0;scanf("%d",&num);for(i=sizeof(num)*8-1;i>=0;i--){if(num&1<<i){one++;}else{zero++;}}printf("one == %d\n",one);printf("zero == %d\n",zero);return 0;}
输入一个数,判断这个数的二进制有几个0,几个1(完整代码)相关推荐
- c语言判断一个数是否为质数的n次方,C语言中 输入一个数 判断这个数是否为3的N次方 求代码...
C语言中 输入一个数 判断这个数是否为3的N次方 求代码 答案:4 信息版本:手机版 解决时间 2019-10-03 18:55 已解决 2019-10-03 01:54 C语言中 输入一个数 判断 ...
- 【javascript输入一个数判断这个数是否为素数】判断素数
判断素数 什么是素数:素数是指质数,一个大于1的自然数,除了1和它自身外,不能整除其他自然数的数叫做质数:否则称为合数.所以我们可以利用这个性质来判断这个数是否为素数. 基本代码: css部分: .b ...
- python中输入一个数 判断这个数可以同时被5和3整除_判断整数 i 能否同时被3和5整除的Python表达式为...
[简答题]采集瓶子的外形进行创意设计 用点.线.面进行装饰填充 A4纸手绘,构图要有新意,要饱满 [简答题]What does it mean to say that critical thinkin ...
- C语言--输入一个日期,输出当前日期是这一年的第几天(完整代码)
文章目录 介绍 代码如下(部分注释) 执行结果如下 输入错误情况如下 -- 文明 使人进步 -- 介绍 输入一个日期,输出当前日期是这一年的第几天 注意考虑平年闰年问题 2021.3.24 输出:20 ...
- python从键盘输入一个数、判断其是奇数还是偶数_从键盘上任意输入一个正数,判断是奇数还是偶数...
从键盘上任意输入一个4位正整数,然后逆序数输出 intmain(){intn,n1,n2,n3,n4;cin>>n;n1=n/1000;n2=(n%1000)/100;n3=(n%100) ...
- c语言求同时被3和7,c语言输入一个数 判断该数能否同时被3和7整除 如果能整除 则输出yes...
输入1个整数,判断该数是奇数还是偶数.(用C语言编程) #includevoidmain(){intn;printf("输入一个整数:");scanf("%d" ...
- JAVA实现输入一个整数,输出该数二进制表示中1的个数(《剑指offer》)
题目: 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 这个题目有个比较有意思并且被公认的解法,我就先贴答案吧: public class Solution {public int ...
- 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示
转自http://my.oschina.net/ithaibo/blog/142655 题目: 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 题目引自http://ac.jobdu ...
- 输入一个数判断是否对称java_判断对称矩阵 - osc_4mawo3g6的个人空间 - OSCHINA - 中文开源技术交流社区...
我在代码题目判断对称矩阵.双重for循环第一个for没加括号导致错误,加上后就可以了. ###题目描述 输入一个N维矩阵,判断是否对称. ###输入描述: 输入第一行包括一个数:N(1<=N&l ...
- 判断一个数的二进制形式是否只有一个1,是的话就输出
// 判断一个数的二进制形式是否只有一个1,是的话就输出#include "stdafx.h" #include <stdlib.h>int main(int argc ...
最新文章
- 写在前面-Terraform
- vue 动态设置背景图片
- 安卓学习-界面-View的自定义
- 我的第一份外包经历及所得
- python中依次输出字符_Python如何输出某关键字符并输出完整字符串
- 2021-2025年中国窗帘行业市场供需与战略研究报告
- 彪悍榴莲姐再袭 这次一口气吃掉10斤
- 深入浅出理解死锁(以吃鸡游戏为例)
- 数据库可视化软件 安装 for windows
- 内部审计具体准则第28号—信息系统审计
- PGP实现邮件加密和签名
- 搜索引擎(转自百度百科)
- python爬网站信息_一个爬取实习僧网站信息的爬虫
- 基于FPGA的贪吃蛇游戏设计(1)整体架构设计
- Mac使用Homebrew极速安装启动RabbitMQ一把梭
- php小程序地图处理,微信小程序地图 map
- 当电脑开不了机出现自动修复时
- eclipse安装STS支持注意的坑
- 称金币问题: 有27枚金币,其中一个是假的。假的比真的略轻。现在有一个天平,问最少几次可以找出假币?
- C++中容器的分类以及相关用法