码迷,mamicode.com
首页 > 其他好文 > 详细

剑指offer的学习(一)

时间:2016-04-23 13:11:55      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:

任意输入一个十进制数字,求其二进制表示中1的个数

简单的右移算法将产生死循环(在输入数字为负时产生)

因此使用下述算法:

int Numberof1(int n){
     int count=0;
     while(n){
        count++;
        n=n&(n-1);
        }
    return count;
}

将一个整数与其减去一后的数字相与,即可计算器最后一位是否为1.

剑指offer的学习(一)

标签:

原文地址:http://www.cnblogs.com/yeizisn/p/5424283.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!