首页 > 其他 > 详细

求最大连续bit数

时间:2016-07-14 13:11:48      阅读:224      评论:0      收藏:0      [点我收藏+]

题目描述

  功能: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1    
  输入: 一个byte型的数字    
  输出: 无     
  返回: 对应的二进制数字中1的最大连续数

输入描述

  输入一个byte数字

输出描述

  输出转成二进制之后连续1的个数

输入样例  

3 

输出样例

2 

题目分析

  对数字边右移边找连续1的个数的最大值即可。

测试代码

 1 #include <stdio.h>
 2 
 3 int main(void)
 4 {
 5     int num, count = 0, max = 0;
 6 
 7     while (scanf("%d", &num) != EOF)
 8     {
 9         count = max = 0;
10         while (num)
11         {
12             if (num & 1)
13             {
14                 count++;
15                 max = (count > max) ? count : max;
16             }
17             else
18             {
19                 count = 0;
20             }
21             num >>= 1;
22         }
23         printf("%d\n", max);
24     }
25     return 0;
26 }

 

求最大连续bit数

原文:http://www.cnblogs.com/maxin/p/5669949.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!