两种方法实现10进制和62进制互转
来源:互联网 发布:java常用算法手册 宋娟 编辑:程序博客网 时间:2024/05/18 11:48
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
0 0
- 两种方法实现10进制和62进制互转
- 两种方法实现10进制和62进制互转
- 两种方法实现10进制和62进制互转
- 线程的两种实现方法 和 进程的两种实现方法 。
- 进制转换的一种思路两种实现方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- 数组遍历的两种方法和hash的实现
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- GridView 实现服务器端和客户端全选的两种方法
- DWG TrueView 2015(cad看图软件)
- 查询用友用户操作日志
- srebmuNnoisreVerapmoC.165
- NSCache和NSURLCache网络缓存优化
- 读书笔记之:C++ Primer (第4版)及习题(ch01-ch11)
- 两种方法实现10进制和62进制互转
- Android 实现二维码生成和解析
- 创建自定义控件
- 巧用Vlookup函数统计连续上榜次数
- EasyUI 的各种提示框消息框配置
- ListView下拉刷新功能的简单实现(慕课网视频总结 ,已测试实现)
- bartender条码打印软件2016下载 v11.0.3.1046
- 【转载】一步一步学习ABAP,一步一步记录之点滴
- IntelliJ Idea 常用快捷键列表