import java.util.Stack;
public class Test {
private static char[] charSet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".toCharArray();
/**
* 将10进制转化为62进制
* @param number
* @param length 转化成的62进制长度,不足length长度的话高位补0,否则不改变什么
* @return
*/
public static String _10_to_62(long number, int length){
Long rest=number;
Stack<Character> stack=new Stack<Character>();
StringBuilder result=new StringBuilder(0);
while(rest!=0){
stack.add(charSet[new Long((rest-(rest/62)*62)).intValue()]);
rest=rest/62;
}
for(;!stack.isEmpty();){
result.append(stack.pop());
}
int result_length = result.length();
StringBuilder temp0 = new StringBuilder();
for(int i = 0; i < length - result_length; i++){
temp0.append('0');
}
return temp0.toString() + result.toString();
}
/**
* 将62进制转换成10进制数
*
* @param ident62
* @return
*/
private static String convertBase62ToDecimal( String ident62 ) {
int decimal = 0;
int base = 62;
int keisu = 0;
int cnt = 0;
byte ident[] = ident62.getBytes();
for ( int i = ident.length - 1; i >= 0; i-- ) {
int num = 0;
if ( ident[i] > 48 && ident[i] <= 57 ) {
num = ident[i] - 48;
}
else if ( ident[i] >= 65 && ident[i] <= 90 ) {
num = ident[i] - 65 + 10;
}
else if ( ident[i] >= 97 && ident[i] <= 122 ) {
num = ident[i] - 97 + 10 + 26;
}
keisu = (int) java.lang.Math.pow( (double) base, (double) cnt );
decimal += num * keisu;
cnt++;
}
return String.format( "%08d", decimal );
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("62System=" +_10_to_62(Integer.parseInt("35174605"), 5));
System.out.println("10System=" +convertBase62ToDecimal("2NaWL"));
}
}
分享到:
相关推荐
java语言编写的十进制正数和负数转换二进制算法。
输入一个整十进制数n,把它转化为二进制,小数部分还没有考虑。。。
最近由于工作上的需要,遇到进制转换的问题。涉及到的进制主要是 十进制,十六进制,二进制中间的转换。还包括了一个字节数组 与十六进制字符串的互相转换。估计遇到蓝牙通信的朋友,应该用的上。
Java把十进制转成二进制(任意进制)的程序
将一个十进制数除以二,得到的商再除以二,依此类推直到商等于一或零时为止,倒取除得的余数,即换算为二进制数的结果。只需记住要点:除二取余,倒序排列。 由于计算机内部表示数的字节单位都是定长的,以2的幂次...
可以实现十六进制转十进制,并且是使用java编写的,方便使用,绝对放心
输入一个十进制数可以转化成二进制,八进制,十六进制。.java格式的右键编辑可以打开。
java 进制转换,二进制 十进制 十六进制 正数 负数的进制等等!.docxjava 进制转换,二进制 十进制 十六进制 正数 负数的进制等等!.docx
主要介绍了Java实现的进制转换工具类,结合完整实例形式分析了Java实现二进制、十六进制、字符串、数组等相关转换操作技巧,需要的朋友可以参考下
JAVA 二进制 字符串 转 十进制 异常 抛出
刚学Java,老师让座一个实数进制转换的程序,分享出来以供互相学习。
java中Integer包装类的详细讲解(java二进制操作,所有进制转换) 十进制转成二进制 十进制转八进制 十进制转十六进制 十六进制转成十进制 十六进制转成二进制 八进制转成十进制 等等所有进制转换和操作
一个简单的小程序,输入一个十进制数,可以转换成二进制,八进制,十六进制
任意输入一个十进制整数,包括正数负数,通过程序实现可以输出相应的二进制编码
利用Java编写程序,提示用户输入一个十进制整数,然后显示对应的二进制值。在这个程序中不要使用Integer.toBinaryString(int)
java中十进制和十六进制的互相转换,可直接调用。
本代码信息: 使用语言:java 功能:将整数(包括正负整数)转换成对应的二进制数,然后再控制台上显示。
java_十进制数转换为二进制,八进制,十六进制数的算法
java表示矩阵,并且进行矩阵之间的加法.乘法.对矩阵进行转置,判断矩阵是否为对称矩阵
十进制转二进制,Java public static void main(String[] args){ String numberString = JOptionPane.showInputDialog("Please enter a number!"); int number = Integer.parseInt(numberString); ...