求最大连续bit数

示例1

输入:200

输出:2

说明:

复制代码
在这个样例中,十进制 200​ 等于二进制 11 001 000,其中最长连续 1 段的长度为 2。

实现代码:

java 复制代码
public static void main(String[] args) {
        // 创建Scanner对象读取输入
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();  // 读取输入的十进制整数
        
        int maxLength = 0;    // 记录最长连续1的长度
        int currentLength = 0; // 记录当前连续1的长度
        
        // 遍历二进制位
        while (n > 0) {
            if ((n & 1) == 1) {
                // 当前位是1,增加当前连续1的长度
                currentLength++;
                maxLength = Math.max(maxLength, currentLength);
            } else {
                // 当前位是0,重置当前连续1的长度
                currentLength = 0;
            }
            // 右移一位,处理下一个二进制位
            n >>= 1;
        }
        
        System.out.println(maxLength);  // 输出结果
        scanner.close();  // 关闭Scanner
    }
相关推荐
工业胶粘剂技术8 分钟前
单组分高温环氧结构胶 K-EP280 完整技术参数与工程选型分析
算法·制造
小张小张爱学习19 分钟前
Java基础面试题
java·开发语言
宋哥转AI23 分钟前
Java后端转AI Agent:技术栈全景图与从ReAct到多Agent协作实战
java·人工智能·agent
Mr.Entropy26 分钟前
ecplise 导出maven依赖jar
java·maven·jar
ANnianStriver33 分钟前
PetLumina 05 — App 端 UI 效果应用
java·ui·ai编程
不懂的浪漫35 分钟前
10|Netty native epoll 与零拷贝:从 Java NIO 再往下看一层![
java·netty·nio
plainGeekDev35 分钟前
SharedPreferences → DataStore
android·java·kotlin
许彰午35 分钟前
24_Java NIO核心组件
java·python·nio
plainGeekDev36 分钟前
Cursor 操作 → Room DAO
android·java·kotlin
摇滚侠39 分钟前
Spring 零基础入门到进阶 入门 06-10
java·spring·intellij-idea