Java任意进制转换

38 篇文章 1 订阅

通用方法:

任意进制,转,任意进制

        String s7="64";
		String s10=new BigInteger(s7,7).toString(10);
		String s11=new BigInteger(s7,7).toString(11);
		String s12=new BigInteger(s7,7).toString(12);
		String s13=new BigInteger(s7,7).toString(13);
		String s16=new BigInteger(s7,7).toString(16);
		System.out.println("10进制"+s10);
		System.out.println("11进制"+s11);
		System.out.println("12进制"+s12);
		System.out.println("13进制"+s13);
		System.out.println("16进制"+s16);

String result = new BigInteger(   “数字字符串”   ,  旧进制 ).toString(  新进制  );

当然还有其他的,比如Integer,Long等基本数据类型的类里封装有转换的方法。

        //将10156按8进制转成10进制数的一个Integer对象
		Integer a10=Integer.valueOf("10156", 8);
		//将10156按8进制转成10进制数的一个int数据
		int b10=Integer.parseInt("10156", 8);
		//将10进制数b10转换成8进制数,以字符串形式输出
		String a8=Integer.toString(b10,8);
		System.out.println(a10);
		System.out.println(b10);
		System.out.println(a8);

valueof和parseInt一般可以通用,只是返回值类型不同,可以按需要的内容使用

Long和上面基本类似,都有类似的方法。

 

任意数转10进制数

        Integer a10=Integer.valueOf("10156", 8);
        Long c10=Long.valueOf("10156", 8);

        int b10=Integer.parseInt("10156", 8);
        long d10=Long.parseLong("10156", 8);

10进制数转任意进制

        String a8=Integer.toString(10156,8);
        String c8=Long.toString(10156, 8);

当然也可以自己写一个函数利用进制转换公式,计算得出结果,锻炼自己,如果是平常应用的话,直接调用就好。

注意:字符串可以带字母,但前提是进制必须符合带字母的条件,比如16进制允许出现ABCDE,大小写都可以用

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值