java的数制转换(详解,全!)
对于进制转换,c/c++要用到辗转相除,不仅浪费时间,还造成代码量繁多,而任意之间的进制转换还需要以十进制为跳板,
先将其他进制的数字转换为十进制,再将十进制转换为其他进制,而java中自带进制转换的函数与方法,可以直接导包调用,非常方便,下面就是十
进制(非大数,是普通整数)转换其他进制的代码,注意转换后是字符串:
package Main; import java.util.Scanner; public class Main { public static void main(String[] args) { int a=123; String s1=Integer.toBinaryString(a); //将整数a转换成二进制字符串并输出 System.out.println(s1); String s2=Integer.toOctalString(a); //将整数a转换成八进制字符串并输出 System.out.println(s2); String s3=Integer.toHexString(a); //将整数a转换成十六进制字符串并输出 System.out.println(s3); //Integer.toString(i,x),将i转换成任意x进制 String s4=Integer.toString(a,7); //将整数a转换成7进制并输出 System.out.println(s4); } }
下面是其他进制转换成10进制
package Main; import java.util.Scanner; public class Main { public static void main(String[] args) { // Integer.valueof("s",x); s是对应的某个进制的字符串,x对应当前字符串的进制 System.out.println("其它制转换到十进制:"); int y1= Integer.valueOf("FFFF",16); ///16进制转换成10进制 System.out.println(y1); int y2=Integer.valueOf("776",8); ///8进制转换成10进制 System.out.println(y2); int y3=Integer.valueOf("0101",2); //2进制转换成10进制 System.out.println(y3); int y4=Integer.valueOf("101",7); //7进制转换成10进制 System.out.println(y4); System.out.println("其它的可能用到的函数:"); //static int parseInt(String s, int radix) //使用第二个参数指定的基数,将字符串参数解析为有符号的整数。 int n = Integer.parseInt("776", 8) ; ///8进制转换成10进制 System.out.println(n); ///Integer.valueOf()返回一个“integer对象”和Integer.parseInt()返回一个“int值”的区别在于,返回值不同 ///基本常识,其他的非10进制的数的保存,基本都是以字符串的形式 ///例子:7进制到8进制的转换 String q = "6523" ; ///7进制的字符串 String b = Integer.toString(Integer.valueOf(q,7),8) ;///这样7进制就变成8进制了 } }
下面将进行终极宝典,大数的任意进制转换成任意进制
package Main; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); String s = cin.nextLine(); int x = cin.nextInt(); int y = cin.nextInt(); System.out.println(Transform(s,x,y)); } //s:输入的数字 x:原数的进制 y:要转化成的进制 public static String Transform(String s,int x,int y) { return new java.math.BigInteger(s,x).toString(y); } } }
java的数制转换(详解,全!)的更多相关文章
- java.util.Scanner应用详解++扫描控制台输入
java.util.Scanner应用详解 java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java ...
- (转)java.util.Scanner应用详解
java.util.Scanner应用详解 java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java ...
- Java编程配置思路详解
Java编程配置思路详解 SpringBoot虽然提供了很多优秀的starter帮助我们快速开发,可实际生产环境的特殊性,我们依然需要对默认整合配置做自定义操作,提高程序的可控性,虽然你配的不一定比官 ...
- Java输出流FileOutputStream使用详解
Java输出流FileOutputStream使用详解 http://baijiahao.baidu.com/s?id=1600984799323133994&wfr=spider&f ...
- Java SPI机制实战详解及源码分析
背景介绍 提起SPI机制,可能很多人不太熟悉,它是由JDK直接提供的,全称为:Service Provider Interface.而在平时的使用过程中也很少遇到,但如果你阅读一些框架的源码时,会发现 ...
- java和javascript日期详解
** java,js日期转换:** <Excerpt in index | 首页摘要> java的各种日期转换 <The rest of contents | 余下全文> 日期 ...
- Java版人脸检测详解下篇:编码
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Java 8 Stream API详解--转
原文地址:http://blog.csdn.net/chszs/article/details/47038607 Java 8 Stream API详解 一.Stream API介绍 Java8引入了 ...
- java反射机制深入详解
java反射机制深入详解 转自:http://www.cnblogs.com/hxsyl/archive/2013/03/23/2977593.html 一.概念 反射就是把Java的各种成分映射成 ...
随机推荐
- 2019年研究生数学建模D题《汽车行驶工况构建》解析
正在整理...
- git rebase 与 merge 的那些事儿~(详细图解,通俗易懂)
什么是 rebase? git rebase 你其实可以把它理解成是"重新设置基线",将你的当前分支重新设置开始点.这个时候才能知道你当前分支于你需要比较的分支之间的差异. 原理很 ...
- mysql重新设置递增值
alter table table_name AUTO_INCREMENT=value;
- maven仓库 - nexus配置
搭建环境: 腾讯云服务器 CentOS 6.8.jdk7.sonatype nexus.maven.Xshell 5 版本信息: jdk : jdk-7u80-linux-x64.tar.gz nex ...
- .ssh/config 文件的解释算法及配置原则
前言 SSH 是连接远程主机最常用的方式,尽管连接到耽搁主机的基本操作非常直接,但当你开始使用大量的远程系统时,这就会成为笨重和复杂的任务. 幸运的是,OpenSSH 允许您提供自定义的客户端连接选项 ...
- word2vec之tensorflow(skip-gram)实现
关于word2vec的理解,推荐文章https://www.cnblogs.com/guoyaohua/p/9240336.html 代码参考https://github.com/eecrazy/wo ...
- Linux 中文打字软件 gtypist 光标错位解决
在windows 下有 金山打字和其他的跟打软件,在Linux下找到了 gtypist 为练习中文打字,该软件分为练习模式的速度测试模式,在gtypist-2.9.5版中会出现以下几个问题: 一是在练 ...
- 项目管理知识点-结合Enovia项目管理模块
核心知识域:整体管理.范围管理.进度管理.成本管理.质量管理.信息安全管理 保障域:人力资源管理.合同管理.采购管理.风险管理.信息(文档)管理.配置管理.知识产权管理.法律法规标准规范管理.职业道德 ...
- (七十九)c#Winform自定义控件-导航菜单
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...
- 一文彻底理解Redis序列化协议,你也可以编写Redis客户端
前提 最近学习Netty的时候想做一个基于Redis服务协议的编码解码模块,过程中顺便阅读了Redis服务序列化协议RESP,结合自己的理解对文档进行了翻译并且简单实现了RESP基于Java语言的解析 ...