摘要: 题目:实现一个函数,输出该数二进制表示中1的个数由于要考虑到负数等问题对数n移位,不能解决负数问题:解法1 flag = 1,向左移动flagint coutNumber1fun1(int n) { unsigned int flag = 1; int cout = 0; while(flag) { if(n&flag)cout++; flag = flag << 1; } return cout; }解法2:利用:把一个整数减去1再和原来的整数做位运算,得到的结果相当于把整数的二进制表示中,最右边的一个1变成0int coutNumber1fun2(int n) { i. 阅读全文
posted @ 2012-09-06 20:23 foreverlearn 阅读(219) 评论(0) 推荐(0)