表示二进制(StringBuffer)和 十六进制转换为十进制(char[])


题目

java 复制代码
public class Main {
	public static void main(String[] args) {
		//1到10000至少需要多少个二进制位
		//求10000需要多少个二进制位
		StringBuffer sb = new StringBuffer();
		//n:10000 m:2
		int n = 10000;
		int m = 2;
		while(n!=0) {
			sb.append(n%m);
			n/=m;
		}
		System.out.println(sb.reverse().toString().length());
	}
}


题目

java 复制代码
public class Main {
	public static void main(String[] args) {
		//十六进制2021ABCD转换为十进制
		//DCBA1202
		//01234567 次方
		StringBuffer sb = new StringBuffer("2021ABCD");
		String s = sb.reverse().toString();//DCBA1202
		char[] c = s.toCharArray();
		int sum = 0;
		for(int i=0;i<c.length;i++) {
			if(c[i]>='A'&&c[i]<='F') {
				sum+=(c[i]-'A'+10)*Math.pow(16,i);
			}else {
				sum+=(c[i]-'0')*Math.pow(16,i);				
			}
		}
		System.out.println(sum);
	}
}
相关推荐
辰烨chenye6 小时前
LeetCode Hot 100 题解 · 堆篇
java·算法·leetcode
shehuiyuelaiyuehao7 小时前
算法29,前缀和,除自身以外的数组的乘积
java·数据结构·算法
小刘在重生~7 小时前
Java常用类|String类详解 + BigDecimal精准计算(含面试题)
java·开发语言·python
随遇而安zx7 小时前
【多线程】---JMM 与 volatile 深度解析
java·多线程
YYYing.7 小时前
【C++进阶系列 (二)】关于线程堆栈的那些事——函数调用过程
开发语言·c++·函数·线程堆栈
邪修king7 小时前
Re:Linux系统篇(十九):进程篇(八): 进程等待详解:wait/waitpid,僵尸进程到底该如何回收
java·开发语言
啵啵啵鱼8 小时前
DS-顺序表
java·数据结构·笔记·后端·链表·obsidian
我爱写代码i8 小时前
SKAPP SK影视反编译详细教程+源码 含苹果端ipa
开发语言·javascript·ecmascript
TinyMemory8 小时前
Java 面向对象核心入门(七):方法重载 Overload,同一个方法名能干不一样的活
java·面向对象·overload·方法重载