m=m(m-1)的含义
1的个数
- 描述
- 小南刚学了二进制,他想知道一个数的二进制表示中有多少个1,你能帮他写一个程序来完成这个任务吗?
- 输入
-
第一行输入一个整数N,表示测试数据的组数(1<N<1000)
每组测试数据只有一行,是一个整数M(0=<M<=10000) - 输出
- 每组测试输出占一行,输出M的二进制表示中1的个数
- 样例输入
-
3 4 6 7
- 样例输出
-
1 2 3
你的答案:
关键步:
if(m%2==1)t++;m=m/2;
全部答案:
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{int n,m,i,t;cin>>n;while(n--){t=0;cin>>m;for(i=1;m>0;i++){if(m%2==1)t++;m=m/2;}cout<<t<<endl;}return 0;
}
优秀答案:
关键步:
m&=m-1,s++;
全部答案:
#include <stdio.h>
main()
{int n,m,s;scanf("%d",&n);while(n--){scanf("%d",&m);s=0;while(m)m&=m-1,s++;printf("%d\n",s);}
}
m=m&(m-1); 可以理解为,将m的为1的位置为0
就说其中一个9,用8位表示为
0000 1001
9 - 1就是
0000 1000
9 & 8就是
0000 1000,于是就将最低位的1置为0了
同理,m为9999,一共有8个位上面是1,因此需要8次才能将所有的1置为0
、、、、(就是计算m的二进制表达中1的个数,是通过看用多少次才能把数m中所有的1全部置为0来计算的)、、、、、
m=m(m-1)的含义相关推荐
- Java Calendar.add()方法的使用,参数含义。指定时间差。
cal.add()方法中的参数含义: 第一个参数如果是1则代表的是对年份操作,2是对月份操作,3是对星期操作,5是对日期操作,11是对小时操作,12是对分钟操作,13是对秒操作,14是对毫秒操作. 第 ...
- 通俗理解tf.nn.conv2d() tf.nn.conv3d( )参数的含义 pytorhc 卷积
20210609 例如(3,3,(3,7,7))表示的是输入图像的通道数是3,输出图像的通道数是3,(3,7,7)表示过滤器每次处理3帧图像,卷积核的大小是3 x 7 x 7. https://blo ...
- 三维刚体变化中Rcw,tcw的含义
高翔博士的<视觉SLAM十四讲>中,介绍Tcw指从世界坐标w到c的变换矩阵.但研一学机器人学的时候,讲T12的含义是,坐标系2相对于坐标系1的变换.于是一脸懵逼.昨天想了一晚上,有了一 ...
- 在建工程费用化处理_未确认融资费用和未实现融资收益的含义和区别
在融资的过程中,可能会涉及到未确认融资费用和未实现融资收益的概念.那这两者分别是什么含义呢?又有什么区别?下面大家和小编一起来看看两者之间的关系,希望能够帮助到大家. 未实现融资收益是指未收到租金并未 ...
- inum在linux中含义,linux
Linux 1. 用户,应用层(图形界面),Shell层(Shell层),内核层(系统调用),硬件 2.X Window系统(协议)特点:独立与操作系统 ,网络特性(可以选择语言),源代码免费 3. ...
- 龙格-库塔法(runge-kutta)matlab代码及含义,龙格-库塔法(Runge-Kutta)matlab代码及含义...
龙格-库塔法(Runge-Kutta)matlab代码及含义 龙格-库塔法(Runge-Kutta) 数值分析中,龙格-库塔法(Runge-Kutta)是用于模拟常微分方程的解的重要的一类隐式或显式迭 ...
- java中数组的含义_数组
数组(Array)是有序的元素序列.[1] 若将有限个类型相同的变量的集合命名,那么这个名称为数组名.组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量.用于区分数组的各个元素的数 ...
- 记java关键词_Java关键词及含义
关键字 含义 abstract 表明类或者成员方法具有抽象属性 assert 断言,用来进行程序调试 boolean 基本数据类型之一,声明布尔 ...
- 理解YOLOv2训练过程中输出参数含义
转载自https://blog.csdn.net/dcrmg/article/details/78565440 原英文地址: https://timebutt.github.io/static/und ...
- 机器学习——XGBoost大杀器,XGBoost模型原理,XGBoost参数含义
0.随机森林的思考 随机森林的决策树是分别采样建立的,各个决策树之间是相对独立的.那么,在我们得到了第k-1棵决策树之后,能否通过现有的样本和决策树的信息, 对第m颗树的建立产生有益的影响呢?在随机森 ...
最新文章
- 应用程序虚拟化部署笔记二
- 数组元素倒置-Java
- 限时秒杀┃月销10000+件,风靡全国的steam科学实验套装
- facebook 开源_Facebook开源主管开放
- 引用父类成员的关键字是java_Java 中对父类成员访问用的关键字是 ,而引用当前对象的关键字是 。_学小易找答案...
- 机器学习(二)——xgboost(实战篇)Pima印第安人数据集上的机器学习-分类算法(根据诊断措施预测糖尿病的发病)
- golang gin mysql_Golang 的Gin框架入门教学
- 产品沉思录 V3.0 试读
- JAVA基础_ Scanner扫描仪
- 局域网稳定性测试软件,局域网速度测试
- OpenGL 4 : 一个漂亮的心 For you, My Love
- 前端Vue简单编写一个幸运大转盘抽奖游戏
- Booting ARM Linux
- python中bytes_Python3中的bytes和str类型
- 孟岩所说的革命到底是什么?
- CT三维重建的六种基本后处理方法
- 2.5 信道的极限容量
- 陀螺年度好文回顾|区块链跨链互操性的意义和应用案例
- SECS-GEM通信标准的特点
- 基于Arduino 开发 MAX30102 LM35 SSD1306 观察血氧、心率和温度血氧仪