package com.woxiaoe.algorithm;
import java.util.Stack;
public class Base {
/**
* 将数转为任意进制
* @param num
* @param base
* @return
*/
public static String baseString(int num,int base){
if(base > 16){
throw new RuntimeException("进制数超出范围,base<=16");
}
StringBuffer str = new StringBuffer("");
String digths = "0123456789ABCDEF";
Stack<Character> s = new Stack<Character>();
while(num != 0){
s.push(digths.charAt(num%base));
num/=base;
}
while(!s.isEmpty()){
str.append(s.pop());
}
return str.toString();
}
/**
* 16进制内任意进制转换
* @param num
* @param srcBase
* @param destBase
* @return
*/
public static String baseNum(String num,int srcBase,int destBase){
if(srcBase == destBase){
return num;
}
String digths = "0123456789ABCDEF";
char[] chars = num.toCharArray();
int len = chars.length;
if(destBase != 10){//目标进制不是十进制 先转化为十进制
num = baseNum(num,srcBase,10);
}else{
int n = 0;
for(int i = len - 1; i >=0; i--){
n+=digths.indexOf(chars[i])*Math.pow(srcBase, len - i - 1);
}
return n + "";
}
return baseString(Integer.valueOf(num),destBase);
}
}
分享到:
相关推荐
java实现任意进制的转换,包括2进制转16进制,10进制转16进制,10进制转任意进制,36进制加法,可自行手动设置转换进制和需要转换的数字.
废话不多上干货! /** * 个人数学工具 * * @author Suage */ class Convert { ... //输入进制 private int sysIn; //输出进制 private int sysOut; //输入实际值 private double actualValue;
任意进制整数的转换,用十进制数作为中转,原则上不能超过10进制数能表示的最大整数。
java桌面小应用程序 任意进制转换任意进制,包含从字符、字符串 转换为其他进制数
使用JAVA实现任意进制之间的转换(进制在10+26=36之间)
任意输入一个十进制整数,包括正数负数,通过程序实现可以输出相应的二进制编码
java语言编写把任意进制数M转换为另一任意进制数N
任意进制数之间的转化,使用栈的来实现,先转化为十进制数,然后目标进制数。
进制转换C源码 根据毕向东Java基础教程中讲解的进制转换原理写出来的C语言代码,C语言还是和Java差别太大,没有无符号右移>>>太难搞了,不过还算搞定了吧
JAVA开发,支持任意进制数转,换二进制、八、十、十六进制转换!支持窗口最前显示! 在校期间JAVA开发小软件!
java swing 实现2-16之间的任意进制的转换
进制转换 进制转换器,2进制十进制八进制十六进制之间任意转换
NULL 博文链接:https://mactavish.iteye.com/blog/1731735
此程序是用栈来完成进制的转换,有栈的结构体的构造,该程序是用将十进制任意转换成其他进制,但只限于整数
原创软件,MFC界面,可以任意转换64bit数据到2进制、10进制、16进制,2进制可以直接查看任意bit,取0~63之间的任意区间值,并且支持取位、移位大小端转换等等,尤其适合做嵌入式开发的相关人员使用。真正做到了简单...
二 八 十 十六进制间的任意转换 二 八 十 十六进制间的任意转换 二 八 十 十六进制间的任意转换
对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数。java代码实现源码。
写在前面: 最近在学习数据分析方向的课程,开始系统地学习Python,越来越对“人生苦短,故我用python”这句话有感触了,Python在某些方面确实有其过其他语言之处。...此外用Python做进制转换的优势有至少
格雷码(循环碼)是任意两个相邻数的代码只有一位二进制数不同的BCD码,它与奇偶校验码同属可靠性编码。 格雷碼(Gray code)是由貝爾實驗室的Frank Gray在1940年提出,...此JAVA程序就是将将十进制数字转换为格雷码。
大二期末的毕业项目,java语言编写的数制转换计算器,可以在二进制,八进制,十进制,十六进制键任意转换,基本所有的异常又有处理,挺人性化的!希望对你们有所帮助。