博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
求最大连续bit数
阅读量:6585 次
发布时间:2019-06-24

本文共 1055 字,大约阅读时间需要 3 分钟。

hot3.png

题目描述

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

输入描述

输入一个byte数字

输出描述

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

输入例子

3

输出例子

2

算法实现

import java.util.Scanner;/** * Declaration: All Rights Reserved !!! */public class Main {    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);//        Scanner scanner = new Scanner(Main.class.getClassLoader().getResourceAsStream("data.txt"));        while (scanner.hasNext()) {            int b = scanner.nextInt();            System.out.println(countBit(b));        }        scanner.close();    }    private static int countBit(int b) {        int max = 0;        int cur = 0;        b &= 0xFF;        for (int i = 0, and = 1; i < 8; i++) {            // 如果第i位为1            if ((b & and) != 0) {                cur++;                if (cur > max) {                    max = cur;                }            } else {                cur = 0;            }            and <<= 1;        }        return max;    }}

转载于:https://my.oschina.net/u/2822116/blog/824360

你可能感兴趣的文章
LeetCode - 49. Group Anagrams
查看>>
移动前端不得不了解的html5 head 头标签
查看>>
Tomcat 服务器性能优化
查看>>
【框架学习】ibatis DAO框架分析
查看>>
ZOJ 3640 Help Me Escape
查看>>
C#下实现的半角转与全角的互转
查看>>
PreparedStatement vs Statement
查看>>
使用texturePaker批量转化pvr为pn
查看>>
截取指定网站Html编码
查看>>
作业一 统计软件简介与数据操作
查看>>
css布局
查看>>
HBase-java api 基本操作
查看>>
POJ2229 Sumsets
查看>>
在LINQ-TO-SQL中实现“级联删除”的方法
查看>>
lemur run PLSA
查看>>
HTTP中的header头解析说明
查看>>
删除windows中的库、家庭组、收藏夹
查看>>
war 宽度变窄
查看>>
set p4 environment in windows
查看>>
pl/sql development 查询的数据复制到excel
查看>>