摘要:
题目:实现一个函数,输出该数二进制表示中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)
浙公网安备 33010602011771号