文档章节

进制转换工具(JAVA)

菜鸟一直在成长
 菜鸟一直在成长
发布于 2017/07/12 19:06
字数 211
阅读 13
收藏 0
/**进制转换工具,支持2-36任意进制间相互转换
  */
public class HexConverter {


    public static String Quotient = null;


    public static void main(String[] args) {

        String a = baseConv("45435424", 10, 34);


        System.out.println("10转34输出值:" + a);


        System.out.println("34转10输出值:" + baseConv(a, 34, 10));
    }


    public static String baseConv(String in, int fr, int to) {
        if (fr < 2 || fr > 36 || to < 2 || to > 36) {
            return null;
        }
        String out = "";
        Quotient = in;
        while (Quotient.length() > 0) {
            out = getRemainder(Quotient, fr, to) + out;
        }
        return out;
    }


    public static String getRemainder(String s, int fr, int to) {
        Quotient = "";
        int temp = 0;


        while (s.length() > 0) {
            int t = str2Int(s.substring(0, 1));
            s = s.substring(1);
            temp = temp * fr + t;
            Quotient += int2Str(temp / to);
            temp = temp % to;
        }


        while (Quotient.length() > 0 && Quotient.charAt(0) == '0') {


            Quotient = Quotient.substring(1);


        }


        return int2Str(temp);


    }


    public static int str2Int(String s) {


        return s.charAt(0) <= '9' && s.charAt(0) >= '0' ? s.charAt(0) - '0' : s
                .charAt(0) - 'a' + 10;


    }


    public static String int2Str(int i) {


        return i >= 0 && i <= 9 ? String.valueOf((char) ('0' + i)) : String
                .valueOf((char) ('a' + i - 10));


    }

本文转载自:抱歉忘了原地址了。。

菜鸟一直在成长
粉丝 5
博文 43
码字总数 18676
作品 0
丰台
私信 提问
Java I/O : Java中的进制详解

作者:李强强 上一篇,泥瓦匠基础地讲了下Java I/O : Bit Operation 位运算。这一讲,泥瓦匠带你走进Java中的进制详解。 一、引子 在Java世界里,99%的工作都是处理这高层。那么二进制,字节...

泥沙砖瓦浆木匠
2015/06/14
0
0
Java HexString-字节数组与十六进制字符数组转换

Java HexString-字节数组与十六进制字符数组转换 Java中byte(字节)用二进制表示占用8 bit (位),而我们知道16进制的每个字符需要用4位二进制位来表示,所以我们就可以把每个byte转换成两...

秋风醉了
2015/04/07
0
0
部署java项目出现base 64解析问题

部署tomcat之前,需要部署jdk环境,那么jdk和tomcat之间也是有一定得兼容性的,抛开版本问题不谈(jdk和tomcat版本,不能相差太大,jdk向下兼容),jdk与tomcat中还是有很多的兼容性 问题的,...

壹休哥
2018/06/26
0
0
Java 基础快捷键以及相关基础知识总结——2

1.5 JDK的下载与安装 JDK下载网站网址:https://www.oracle.com/index.html i586是32位系统,x64是64位系统,7u72是更新72 默认式安装,直接下一步就好,建议在安装目录选择的时候改成D盘 1....

新手求问4814
2018/11/22
0
0
Java命令行监控工具(jmap,jstack,jstat,jinfo,jps)

项目部署上线之后,线上项目是不能轻易修改的,定位问题的难度也会变大。因此监控是非常重要的一个环节,有了监控,我们才能更好的定位系统中的问题,从而排查。监控的工具有很多种, 但是j...

艾贺521
2018/07/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

编程语言王国的唯一王者

在撰写本文前,我搜索了“我应该学习哪种编程语言”这个词条,发现会产生5.17亿个结果。而每个页面都在滔滔不绝地介绍某种语言相对于其他语言的优势,其中90%会推荐Python或JavaScript。 恕...

京东云技术新知
26分钟前
3
0
Dota2锁区steam下载国际服办法

Dota2锁区steam下载国际服办法 直接访问Dota2的steam地址下载即可 http://store.steampowered.com/app/570/Dota_2/?cc=us...

我爱吃炒鸡
30分钟前
2
0
多个参数拼接成的字符串转成json对象,参数循序会变

太坑爹了。 生成签名方法要根据参数排序,然后多个参数拼接成字符串传递到服务端,转为JSON对象,传入签名算法API中,JSON对象的参数顺序和字符串里面的参数顺序不一致,导致生成的签名一直和...

太猪-YJ
31分钟前
2
0
Aspose.Cells for .NET v19.6发布上线!支持绘图切片机功能!

Aspose.Cells for .NET是一个Excel电子表格编程API,可加快电子表格管理和处理任务。通过集成API,开发人员可以执行的一些基本任务,如管理多个工作表,从头创建电子表格内容和样式,从不同数...

mnrssj
34分钟前
1
0
泛型

1、泛型接口的定义和基本使用 (定义泛型接口) package com.yxs.demo.dao;public interface Demo<T> { public abstract void show(T t);} (2)、泛型接口的实现 泛型接口的是是实现有...

一对二
34分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部