首页 > 其他 > 详细

剑指offer的学习(一)

时间:2016-04-23 13:10:02      阅读:168      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!