| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2424 人关注过本帖
标题:m&=m-1
只看楼主 加入收藏
TRUTH_2015
Rank: 2
等 级:论坛游民
帖 子:37
专家分:20
注 册:2015-5-13
结帖率:71.43%
收藏
已结贴  问题点数:20 回复次数:13 
m&=m-1
程序代码:
 
#include<stdio.h>
int 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);
    }
    return 0;
}        

//          m & = m-1  这个是什么意思。
2016-02-29 17:00
拉链
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:107
专家分:534
注 册:2016-1-22
收藏
得分:1 
m=m&(m-1)
2016-02-29 17:17
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:1 
去掉最低位的一个1
2016-02-29 19:57
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:1 
百度位运算“求与”。

   唯实惟新 至诚致志
2016-02-29 20:04
TRUTH_2015
Rank: 2
等 级:论坛游民
帖 子:37
专家分:20
注 册:2015-5-13
收藏
得分:0 
还是不懂,,求大神详细指教。。。
或给个网址链接。。。。
谢谢。。。
2016-03-01 10:00
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:10 
回复 5楼 TRUTH_2015
http://

   唯实惟新 至诚致志
2016-03-01 10:19
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:1 
以下是引用rjsp在2016-2-29 19:57:52的发言:

去掉最低位的一个1

应该是 末位置〇  其他位不固定  最终就能看出来是个偶数  其他的看不出来啥

DO IT YOURSELF !
2016-03-01 10:40
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:1 
以下是引用wp231957在2016-3-1 10:40:22的发言:

 
应该是 末位置〇  其他位不固定  最终就能看出来是个偶数  其他的看不出来啥
以 m = xxxxxxxx1000 为例
m   = xxxxxxxx1000
m-1 = xxxxxxxx0111
两者and一下,得 xxxxxxxx0000,即去掉了最低位的1
2016-03-01 10:46
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:1 
19 & 18=18 去掉哪个1了  ??  如果去掉19的末位1 则变成 9了

DO IT YOURSELF !
2016-03-01 10:54
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:3 
0000000000011001        19
0000000000011000        18
--------------------------     
0000000000011000        18       是去掉末位啊,不知道怎么变成9的?求解9楼。

能编个毛线衣吗?
2016-03-01 10:59
快速回复:m&=m-1
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024902 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved