您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> C十十 >> 辅导 >> 正文    
  计算一个数的二进制表示中有多少个1 【注册男护士专用博客】          

计算一个数的二进制表示中有多少个1

www.nanhushi.com     佚名   不详 

  这个阶段的我好像很喜欢把玩code。拿到Code会想它是否能够工作。先使用,再Trace,然后总结归纳。这些都是从Points C中摘录的。不知道文章该该怎么分类。所以暂且归为翻译这一栏目。 
现在看来还是觉得这些简短的Code很经典。 
  
*********************************************方法一********************************************************** 

/**//* 
** This function returns the number of 1-bits that appeared in 
** the argument value. 
*/ 
int 
count_one_bits( unsigned value ) 
...{ 
 int ones; 

 /**//* 
 ** While the value still has some 1-bits in it ... 
 */ 
 for( ones = 0; value != 0; value = value >> 1 ) 
  /**//* 
  ** If the low-order bit is a 1, count it. 
  */ 
  if( value % 2 != 0 ) 
   ones = ones + 1; 

 return ones; 


******************************************方法二******************************************* 

/**//* 
** This function returns the number of 1-bits that appeared in 
** the argument value. 
*/ 
int 
count_one_bits( unsigned value ) 
...{ 
 int ones; 

 /**//* 
 ** While the value still has some 1-bits in it ... 
 */ 
 for( ones = 0; value != 0; value >>= 1 ) 
  /**//* 
  ** If the low-order bit is a 1, count it. 
  */ 
  if( ( value & 1 ) != 0 ) 
   ones += 1; 

 return ones; 
}

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目