两种方法实现10进制和62进制互转
来源:互联网 发布:被淘宝卖家骂了怎么办 编辑:程序博客网 时间:2024/05/22 12:59
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 stubSystem.out.println("62System=" +_10_to_62(Integer.parseInt("35174605"), 5));System.out.println("10System=" +convertBase62ToDecimal("2NaWL"));}}
运行结果:
62System=2NaWL
10System=35174605
两种方法均转化成功
- 两种方法实现10进制和62进制互转
- 两种方法实现10进制和62进制互转
- 两种方法实现10进制和62进制互转
- 线程的两种实现方法 和 进程的两种实现方法 。
- 进制转换的一种思路两种实现方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- 数组遍历的两种方法和hash的实现
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- 15个步骤创立技术公司,并收获千万用户(一)
- cocos2d-x win32导成anroid工程大致流程,附小问题集锦
- ios Xcode 如何导入类库
- FFServer源码分析
- 初识“你们”我很开心
- 两种方法实现10进制和62进制互转
- 不要小看大数据对文化创意产业的颠覆
- 九度笔记之 1358:陈博的平均主义
- Gerrit简易安装入门
- MFC窗口透明
- 【设计模式】学习笔记1:策略模式(Strategy)
- C++虚函数
- ScrollView中若嵌套有滑动的控件(如:WebView,ListView或GridView)焦点问题
- hdu 1142 A Walk Through the Forest