笔试题目

moonck 2010-04-28 05:01:37
一道笔试题目,大家看看如何实现啊?
设计一个程序,计算int型数据的2进制中包含多少个1?
例如:-1的2进制为0xFFFFFFFF,其中有32个1,故应返回32.
函数原型:int Count(int aInt)

以上
...全文
482 42 打赏 收藏 转发到动态 举报
写回复
用AI写文章
42 条回复
切换为时间正序
请发表友善的回复…
发表回复
mstlq 2011-09-28
  • 打赏
  • 举报
回复
我想说,1楼不一定比7楼快……
要看情况……
乌笨兔 2011-09-28
  • 打赏
  • 举报
回复
//能同时处理有符号和无符号整型
int Count(int aInt)
{
int num = 0;
if(aInt < 0){
num++;//符号位 为1?
aInt &= 0x7fffffff;//清符号位,变正
}
while(aInt!=0)
{
if (aInt & 0x01)
{
num++;
}
aInt >>=1;
}
return num;
}
蓝色星辰召唤 2010-04-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hai040 的回复:]
c = 0
while(a &= a - 1)
++c;
[/Quote]
非常快!
Polyglot_g 2010-04-30
  • 打赏
  • 举报
回复
学习了,哈哈
xhp7185 2010-04-30
  • 打赏
  • 举报
回复
学习了
贤烨 2010-04-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 moonck 的回复:]
一道笔试题目,大家看看如何实现啊?
设计一个程序,计算int型数据的2进制中包含多少个1?
例如:-1的2进制为0xFFFFFFFF,其中有32个1,故应返回32.
函数原型:int Count(int aInt)

以上
[/Quote]

《C和指针》操作符那章有例子说的,可以找来看看……
mskmc_mc 2010-04-30
  • 打赏
  • 举报
回复
标准库的 bitset
only_delusion 2010-04-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hai040 的回复:]
c = 0
while(a &= a - 1)
++c;
[/Quote]

果然犀利.....
theplayerwuliang 2010-04-30
  • 打赏
  • 举报
回复
对这种题目很乏力
pywepe 2010-04-29
  • 打赏
  • 举报
回复
顶顶顶顶顶
wellstudyc 2010-04-29
  • 打赏
  • 举报
回复
赞一下
zhu_nn 2010-04-29
  • 打赏
  • 举报
回复
1L的程序有啥问题啊,我杂没有看出来啊
JJ8582 2010-04-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hai040 的回复:]
c = 0
while(a &= a - 1)
++c;
[/Quote]
攒一个
shiter 2010-04-29
  • 打赏
  • 举报
回复
看不懂求讲解
haierpro 2010-04-29
  • 打赏
  • 举报
回复
两个字,无语
醉心编码 2010-04-29
  • 打赏
  • 举报
回复
还是这位老兄的是正解。[Quote=引用 15 楼 gigglesun 的回复:]
严谨的求法在K&R的《C程序设计语言》中给出了

C/C++ code
int bitcount(unsigned x)
{
int b;
for(b = 0;x != 0;x >>= 1)
if(x & 01)
b++;
return b;
}

这里将x声明为无符号类型是为了保证将x右移时,无论该程序在什……
[/Quote]
醉心编码 2010-04-29
  • 打赏
  • 举报
回复
但就是有问题。[Quote=引用 28 楼 lzyzuixin 的回复:]
犀利。佩服。

引用 1 楼 hai040 的回复:
c = 0
while(a &amp;= a - 1)
++c;
[/Quote]
醉心编码 2010-04-29
  • 打赏
  • 举报
回复
犀利。佩服。[Quote=引用 1 楼 hai040 的回复:]
c = 0
while(a &= a - 1)
++c;
[/Quote]
tianma2005123 2010-04-29
  • 打赏
  • 举报
回复
1L很犀利,但是有问题。。。
hankcs 2010-04-29
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 gigglesun 的回复:]
严谨的求法在K&R的《C程序设计语言》中给出了

C/C++ code
int bitcount(unsigned x)
{
int b;
for(b = 0;x != 0;x >>= 1)
if(x & 01)
b++;
return b;
}

这里将x声明为无符号类型是为了保证将x右移时,无论该程序在什……
[/Quote]
不错不错
加载更多回复(22)
C++笔试题 Sony笔试题 几道题及自做答案 北电 普天C++笔试题 我所收集的intel比试题 面试题 2005年腾讯招聘 微软 微软亚洲技术支持中心面试题 微创笔试题(微创,微软在中国的合资公司) Intel笔试面试题 IBM 社会招聘笔试题 宝洁公司(P&G)面试题 飞利浦笔试试题 阿尔卡特(中国)的面试题 Google 戴尔 意法半导体软件试题 Sony笔试题 华为笔试题 华为 华为全套完整试题 慧通 华为面试题 大唐电信 大唐面试试题 网通笔试题 东信笔试题 中软融鑫笔试题 Delphi笔试题 EE笔试试题 软件笔试题 Hongkong Bank笔试题 A.T. Keaney笔试题 Shell company笔试题 KPMG笔试题 香港电信笔试题 LORAL的笔试题 维尔VERITAS软件笔试题 百威啤酒(武汉公司) 星巴克 凹凸电子软件笔试题 友立资讯笔试题 Avant! 微电子EE笔试题 德勤笔试题 扬智(科技)笔试题 高通笔试题 威盛笔试试题 2003 EE笔试题 2003 Graphic笔试题 汉王笔试题 北京信威通信技术股份有限公司面试题 中国国际金融有限公司CICC笔试题 国泰君安笔试题 广东北电面试题 广州本田笔试题 明基面试问题 网易 广州日报 下面有些题也不错,可以参考 联想笔试题 普天C++笔试题 Sony笔试题 微软亚洲技术中心的面试题 MSRA Interview Written Exam(December 2003,Time:2.5 Hours) 百度笔试题 汉略曾考的测试题 16道C语言面试题例子 死循环(Infinite loops) 数据声明(Data declarations) 位操作(Bit manipulation) 访问固定的内存位置(Accessing fixed memory locations) 中断(Interrupts) 代码例子(Code examples) 13. 评价下面的代码片断 动态内存分配(Dynamic memory allocation) 群硕笔试 基础题 笔试博朗 - [笔试 职业] C语言面试题大汇总 思科 慧通 雅虎笔试题(字符串操作) C语言最长平台算法 华为3COM C语言题库 将两个无序数组合并为有序链表 上海聚力传媒技术有限公司官方VC笔试题解答

64,679

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧