十进制与自定义任意进制转换代码
2015-04-29 09:04
447 查看
有时我们在使用十进制的时候,会有长度过长情况。如加密或传输的过程中,日期数据20141230 使用进制转换可以少好几位长度。
因此写了一个十进制与任意自定义进制转换的工具类,可以将十进制转换成任意进制,也可以让任意进制转换回十进制。
希望大家也能用得上。
因此写了一个十进制与任意自定义进制转换的工具类,可以将十进制转换成任意进制,也可以让任意进制转换回十进制。
希望大家也能用得上。
public class TEST { public static final String CHS_STR = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; //0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz /** * @param args */ public static void main(String[] args) { System.out.println("value:" + numToStr(20141230) ); System.out.println("num:" + strToInt("WU")); String ss = "12345678"; String str =""; for(char c : ss.toCharArray()){ str += numToStr( (int)c ); } System.out.println("str:"+str); } /** * @param i * @return */ public static String numToStr(long _int) { if (_int < 0) { return null; } int len = CHS_STR.length(); char[] chs = CHS_STR.toCharArray(); int n = -1; long intVal = _int; StringBuffer val = new StringBuffer(); do { if (intVal < len) { n = (int) intVal; } else { n = (int) (intVal % len); } intVal = (int) Math.floor(intVal / len); val.append(chs ); } while (intVal > 0); val = val.reverse(); return val.toString(); } public static long strToInt(String str) { int len = CHS_STR.length(); char[] chs = CHS_STR.toCharArray(); StringBuffer sb = new StringBuffer(str.trim()); char[] strs = sb.reverse().toString().toCharArray(); long num = 0; for (int i = 0; i < strs.length; i++) { int ind = 0; for (char c : chs) { if (strs[i] == c) { break; } ind++; } num += ind * (int) Math.pow(len, i); } return num; } }
相关文章推荐
- 笔试小题,将十进制转换为任意进制的数字。
- 【任意进制转换】 例:输入十进制转换二进制
- C++ 基础编程之十进制转换为任意进制及操作符重载
- C语言实现任意进制的转换,主要注意代码的小技巧
- python 十进制整数转换为任意进制(36以内)
- 十进制转换成任意进制(栈的应用)
- 用栈实现十进制到任意进制的转换
- 无符号十进制整数转换成任意进制数
- 无符号十进制整数转换成任意进制数
- Python 正整数任意进制互转换代码示例
- 随意贴一段任意进制转十进制的代码
- 任意进制之间的转换问题 !!!非常nb的代码哦!!
- Python 十进制到任意进制的转换
- HDU--2031--十进制转换到任意进制
- 使用数组,编写一个任意进制正整数转换为十进制的转换工具。
- 华为2017年8月30日校招编程真题2-自定义的26进制和十进制之间互相转换
- 十进制任意整数类型向常见数值类型进制转换的通用办法
- C++十进制转换为任意进制
- 十进制转换为任意进制
- 十进制转换为任意进制及操作符重载