package com.woxiaoe.algorithm;
import java.util.Stack;
public class Base {
/**
* 将数转为任意进制
* @param num
* @param base
* @return
*/
public static String baseString(int num,int base){
if(base > 16){
throw new RuntimeException("进制数超出范围,base<=16");
}
StringBuffer str = new StringBuffer("");
String digths = "0123456789ABCDEF";
Stack<Character> s = new Stack<Character>();
while(num != 0){
s.push(digths.charAt(num%base));
num/=base;
}
while(!s.isEmpty()){
str.append(s.pop());
}
return str.toString();
}
/**
* 16进制内任意进制转换
* @param num
* @param srcBase
* @param destBase
* @return
*/
public static String baseNum(String num,int srcBase,int destBase){
if(srcBase == destBase){
return num;
}
String digths = "0123456789ABCDEF";
char[] chars = num.toCharArray();
int len = chars.length;
if(destBase != 10){//目标进制不是十进制 先转化为十进制
num = baseNum(num,srcBase,10);
}else{
int n = 0;
for(int i = len - 1; i >=0; i--){
n+=digths.indexOf(chars[i])*Math.pow(srcBase, len - i - 1);
}
return n + "";
}
return baseString(Integer.valueOf(num),destBase);
}
}
分享到:
相关推荐
在编程领域,进制转换是一项基础且重要的...以上就是Java实现任意进制转换的方法,包括二进制转十六进制、十进制转任意进制以及36进制加法。理解这些概念和方法,对于理解和编写处理数字系统转换的Java代码至关重要。
废话不多上干货! /** * 个人数学工具 * * @author Suage */ class Convert { ... //输入进制 private int sysIn; //输出进制 private int sysOut; //输入实际值 private double actualValue;
在Java编程语言中,进制转换是一项基础但...以上就是这个"java 任意进制转换(源码)"程序可能涉及的关键知识点。通过学习和理解这些内容,开发者不仅可以掌握Java的进制转换,还能提升在GUI编程和异常处理方面的技能。
任意进制整数的转换,用十进制数作为中转,原则上不能超过10进制数能表示的最大整数。
本文将基于标题“进制转换C源码”和描述,深入探讨C语言实现不同进制转换的原理及代码实现,同时会涉及与Java语言进制转换差异的讨论。 首先,进制转换是计算机科学中的基本概念,主要包括二进制、八进制、十进制和...
实现大整数任意进制转换的技术主要包括以下几点: 1. **模运算**:进制转换的核心在于模运算,通过不断地除以目标进制的基数并记录余数,可以得到目标进制下的数值。 2. **位操作**:在二进制和其他二的幂进制之间...
使用JAVA实现任意进制之间的转换(进制在10+26=36之间)
在Java编程语言中,26进制转换是一种特殊形式的编码,它不是标准的计算机科学概念,但在某些特定场景下可能会被用到。通常,我们谈论的进制转换包括二进制、八进制、十进制和十六进制之间的转换。然而,"26进制"通常...
在Java编程语言中,将十进制数转换为二进制或其他任意进制是一项常见的任务。这主要涉及到数字系统的基础理论以及Java中的字符串处理和数学运算。...希望这个解释能帮助你理解和实现Java中的进制转换。
任意输入一个十进制整数,包括正数负数,通过程序实现可以输出相应的二进制编码
Java中还有一些内置的函数来辅助实现进制转换,比如`Integer.toString(int num, int radix)`可以将十进制数转换成任意进制的字符串表示,而`Integer.parseInt(String s, int radix)`则可以将任意进制的字符串转换成...
本篇将详细讲解如何用Java编程语言实现将十进制数N转换为任意进制r的数,并以N=3456,r=8为例进行具体阐述。 首先,让我们理解辗转相除法(也称除法法或欧几里得算法),它是转换进制的基本算法之一。对于给定的十...
任意进制数之间的转化,使用栈的来实现,先转化为十进制数,然后目标进制数。
二进制转换通常通过`Integer.toBinaryString()`来实现,而十六进制转换则可使用`Integer.toHexString()`。 下面是一个简单的Java程序,演示了如何实现这个功能: ```java import java.util.Scanner; public class...
在这个“2-16之间的进制转换”项目中,我们将深入探讨如何使用Java Swing实现从二进制到十六进制之间任意进制的转换。 首先,我们要理解不同进制的基本概念。二进制(Binary)是计算机科学的基础,仅使用0和1表示...
通常,这样的文件会包含对各种进制转换的测试用例,以验证转换函数的正确性。 总之,理解和掌握Java中String与各种进制字符之间的转换对于日常编程至关重要。通过熟练运用上述方法,可以轻松处理与进制相关的任务,...
本文详细介绍了数字进制转换的基本原理,并通过具体的Java代码示例实现了任意进制之间的转换。通过对非十进制到十进制以及十进制到非十进制的转换过程进行分析,可以帮助读者更好地理解和掌握进制转换的核心算法。在...
2. **自定义任意进制转换**:除了常见的二、八、十、十六进制,这个工具可能还支持转换到其他任意基数的数制,如五进制、七进制或二十二进制等。这对于特定应用场景,比如加密算法或特定的编码系统,可能是必要的。 ...
Java语言提供了内置的方法进行进制转换。对于整数,可以使用`Integer.toString(int, int)`将整数转换成指定基数的字符串,`Integer.parseInt(String, int)`或`Integer.valueOf(String, int)`将字符串转换回整数。...