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"));
}
}
运行结果:
62System=2NaWL
10System=35174605
两种方法均转化成功
分享到:
相关推荐
符合IEEE754标准。 可以将4位16进制字符串转10进制小数。 如3ED80000转为0.421875。
主要介绍了C语言中十六进制转十进制两种实现方法的相关资料,需要的朋友可以参考下
本资源是ruby代码,提供了一系列封装好...二进制字符串与整数互转,包括uint8,uin16,uint32, 以及本地字节序和网络字节序两种二进制字符串与整数的互转。这些工具函数对于要处理二进制字符串时很好用,是我多年的积累。
用C++实现十进制到十六进制的两种转换方法.docx
文本转二进制的时候可以通过文件和输入文本框两种方式,在即选择了文件同时又输入了文本框内容则程序优先使用文本框内容作为转换依据,转换后的二进制保存为文件形式。接受的文本要求为一个字节的2个字符中间不能有...
在日常的生活中,人们最常用的是十进制的数据,但是在计算机中,有时需要使用二进制、八进制和十六进制等不同进制的数据;该程序实现不同进制的数据之间的相互转换。
十进制转16,8,2,c++ 进制转换成16,8,2,两种方法,vs2008
整数部分法则:使用短除法,连续除2取余数,直到...例1:将十进制整数156转换成二进制数。 最后的结果就为红色箭头所指的由高位到低位:10011100 所以156转为为二进制的结果为10011100 例2:将十进制30转换为二进制
整数转二进制补码的源代码 提供了两种方法:一种调用java api中的方法。另一种是自己实现的。
(最低要求2种算术运算和两种逻辑运算90分) a.进行两个四位二进制数的运算。 b.算术运算: A+B,A-B,A+1,A-1。 c.逻辑运算: A and B,A or B,A not, A xor B。 2、4 位输入 A3—A0、B3---B0 用开关设置输入。 3、8种...
酷黑窗体风格的VC 进制转换程序,实现大家各种常用进制间的转换,比如十进制转二进制,八进制、十六进制,还包括了任意两种进制间的转换,用起来十分方便。程序的界面也很有个性,美化成了黑色风格。 注:在用户...
一个简洁的十进制转换为二进制的C++代码,有循环和非循环两种,使用者自选。
本程序是用于将M进制的数转换为N进制的数,不需先转换为10进制数就可以转换
主要介绍了Java 中二进制转换成十六进制的两种实现方法的相关资料,需要的朋友可以参考下
这是我以前写的一个课程题目,能够实现十进制、二进制和十六进制之间的相互转换,并且每两种转换之间还有小数和整数的转换选择,功能基本全面,而且对自己的学习也有帮助的
十进制转换二进制
24进制/60进制计时器设计,EDA 基于VHDL硬件描述语言设计
两种方法实现进制间的转换进制间的转换
项目请参见:... 在LabVIEW的串口通信中,数据的发送与接收都是基于字符串控件(常量)进行的。 字符串控件(常量)有两种表现形式:正常显示和十六进制显示。