每日一题(小白)模拟娱乐篇13

今天题目比较简单,直接分析。小蓝想知道2024这个数字中有几个1,计算机组成学习好的同学肯定可以直接长除法或者瞪眼法得出答案:

2024=11111101000(B)也就是说2024中有一共有六个1

接下来用代码实现 ,我们也可以看出其中的有效数字为2,2,4;判断出2和4的二进制包含几个1就可以,先将数字转换为二进制,然后判断2024二进制包含几位1,输出即可。

代码实现👇

复制代码
		System.out.println(Integer.bitCount(2024));//瞪眼法

bitCount(int i) 函数,实现统计一个数的二进制位有多少个 1

复制代码
	public static void main(String[] args) {
		Scanner scanner =new Scanner(System.in);
		int i=2024;
		String binaryString = Integer.toBinaryString(i);
		int count=0;
		for (int j = 0; j < binaryString.length(); j++) {
			if (binaryString.charAt(j)=='1') {
				count++;
			}
		}
		System.out.println(count);
		
		scanner.close();
				
	}

转换法

复制代码
	public static void main(String[] args) {
		Scanner scanner =new Scanner(System.in);
		int i=2024;
		int count=0;
		while (i>0) {
			if (i%2!=0) {//二进制就是2的多少次方
				count++;
			}
			i/=2;
		}
		System.out.println(count);
				
	}

自己写方法

复制代码
	public static void main(String[] args) {
		Scanner scanner =new Scanner(System.in);
		int i=2024;
		int count=0;
		while (i>0) {
			count+=i%2;//与长除法类似,利用长除法的原理
			i/=2;
		}
		System.out.println(count);
				
	}
相关推荐
星星火柴93615 分钟前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
阿华的代码王国18 分钟前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端
Zyy~18 分钟前
《设计模式》装饰模式
java·设计模式
A尘埃25 分钟前
企业级Java项目和大模型结合场景(智能客服系统:电商、金融、政务、企业)
java·金融·政务·智能客服系统
青云交1 小时前
Java 大视界 -- 基于 Java 的大数据可视化在城市交通拥堵治理与出行效率提升中的应用(398)
java·大数据·flink·大数据可视化·拥堵预测·城市交通治理·实时热力图
艾莉丝努力练剑1 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
CHEN5_021 小时前
【Java基础面试题】Java基础概念
java·开发语言
二十雨辰2 小时前
[TG开发]照片机器人
java·web3
武昌库里写JAVA2 小时前
JAVA面试汇总(四)JVM(一)
java·vue.js·spring boot·sql·学习
C++、Java和Python的菜鸟3 小时前
第六章 统计初步
算法·机器学习·概率论