BISHI30 二进制数1

求解代码

java 复制代码
public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));


        PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));

        String str = br.readLine();
        long n =Long.parseLong(str.trim());

        int count = 0;
        while (n > 0) {
            count += n & 1;
            n = n >> 1;
        }
        out.println(count);

        out.flush();
        out.close();
        br.close();
    }

小贴士

StreamTokenizerin.nvaldouble 类型(64 位浮点数), 但 double 的有效整数精度只有 53 位,将其强转为 long(64 位整数)会造成精度丢失,所以这里需要用BufferedReader.readLine()读取字符串再转 long

相关推荐
努力努力再努力wz36 分钟前
【MySQL入门系列】掌握表数据的 CRUD:DML 核心语法与执行逻辑解析
android·开发语言·数据结构·数据库·c++·b树·mysql
zh_xuan3 小时前
Android gradle任务
android·gradle构建
Grackers3 小时前
Android Perfetto 系列 10:Binder 调度与锁竞争
android·binder
李白你好4 小时前
Android 自动化渗透测试指令生成
android·自动化
CeshirenTester5 小时前
Claude Code 不只是会写代码:这 10 个 Skills,才是效率分水岭
android·开发语言·kotlin
朝星6 小时前
Android开发[2]:Flow
android·kotlin
zzb15806 小时前
Android Activity 与 Intent 学习笔记
android·笔记·学习
studyForMokey6 小时前
【Android面试】动画 & Bitmap
android·面试·职场和发展
黑牛儿7 小时前
面试高频问题:从浏览器请求到PHP响应:完整流程拆解
android·后端·面试·php
y小花8 小时前
安卓USB服务概述
android·usb