JAVA笔记整理(1):进制转换
2016-02-28 12:48
393 查看
JAVA笔记整理(1):进制转换
16.2.28 深圳坪山 多云 18℃爱吃螺蛳粉的巴赫
摘要:工具类转化函数:关于进制——2/10/16进制转化(Util_transform_scale)— ps:两种方式各有各的好;想快速查询,请看目录!
JAVA笔记整理1进制转换
调用封装类的静态方法
一方法介绍
二具体用法
自定义方法
一将十六进制中的字母转为对应的数字
二将十进制中的数字转为十六进制对应的字母
三任意进制数转为十进制数
四十六进制转二进制
五二进制转十六进制
调用封装类的静态方法
tip1: Java的整型封装类Integer和Long提供toString(int i,int radix)静态方法,可以将一个任意进制的整数转换为其他进制的整数。tip2: 静态方法是属于类的必须由类来调用,而实例方法是属于实例的必须实例化类后(new一下^_-),用类的实例调用。
一、方法介绍
使用Integer或Long的toBinaryString方法将整数转换为二进制。使用Integer或Long的toOctalString方法将整数转换为八进制。
使用Integer或Long的toHexString方法将整数转换为十六进制。
使用Integer或Long的toString(int i)方法可以将其他进制的整数转换为十进制的整数的字符串表示。
二、具体用法
public class SystemConversion { public static void main(String[] args) { int iOct = 0567;//八进制数字的声明,在前面加上0(零) int iTen = 1000;//十进制数字的声明 int iHex = 0xAbcd;//十六进制数字的声明,在前面加上0x(零x),x和abcd不区分大小写 System.out.println("八进制0567装换成二进制:Integer.toString(iOct, 2)="+Integer.toString(iOct, 2)); System.out.println("八进制0567装换成二进制:Integer.toBinaryString(iOct)="+Integer.toBinaryString(iOct)); System.out.println("八进制0567装换成十进制:Integer.toString(iOct, 10)="+Integer.toString(iOct, 10)); System.out.println("八进制0567装换成十进制:Integer.toString(iOct)="+Integer.toString(iOct)); System.out.println("八进制0567装换成十六进制:Integer.toString(iOct, 2)="+Integer.toString(iOct, 16)); System.out.println("八进制0567装换成十六进制:Integer.toHexString(iOct)="+Integer.toHexString(iOct)); //以上输出结果为: //八进制0567装换成二进制:Integer.toString(iOct, 2)=101110111 //八进制0567装换成二进制:Integer.toBinaryString(iOct)=101110111 //八进制0567装换成十进制:Integer.toString(iOct, 10)=375 //八进制0567装换成十进制:Integer.toString(iOct)=375 //八进制0567装换成十六进制:Integer.toString(iOct, 2)=177 //八进制0567装换成十六进制:Integer.toHexString(iOct)=177 System.out.println(); System.out.println("十进制1000装换成十六进制:Integer.toString(iTen,16)="+Integer.toString(iTen,16)); System.out.println("十进制1000装换成十六进制:Integer.toHexString(iTen)="+Integer.toHexString(iTen)); System.out.println("十进制1000装换成八进制:Integer.toString(iTen,8)="+Integer.toString(iTen,8)); System.out.println("十进制1000装换成八进制:Integer.toOctalString(iTen)="+Integer.toOctalString(iTen)); System.out.println("十进制1000装换成二进制:Integer.toString(iTen,2)="+Integer.toString(iTen,2)); System.out.println("十进制1000装换成二进制:Integer.toBinaryString(iTen)="+Integer.toBinaryString(iTen)); //以上输出结果为: //十进制1000装换成十六进制:Integer.toString(iTen,16)=3e8 //十进制1000装换成十六进制:Integer.toHexString(iTen)=3e8 //十进制1000装换成八进制:Integer.toString(iTen,8)=1750 //十进制1000装换成八进制:Integer.toOctalString(iTen)=1750 //十进制1000装换成二进制:Integer.toString(iTen,2)=1111101000 //十进制1000装换成二进制:Integer.toBinaryString(iTen)=1111101000 System.out.println(); System.out.println("十六进制0xAbcd装换成十进制:Integer.toString(iHex,10)="+Integer.toString(iHex,10)); System.out.println("十六进制0xAbcd装换成十进制:Integer.toString(iHex)="+Integer.toString(iHex)); System.out.println("十六进制0xAbcd装换成八进制:Integer.toString(iHex,8)="+Integer.toString(iHex,8)); System.out.println("十六进制0xAbcd装换成八进制:Integer.toOctalString(iHex)="+Integer.toOctalString(iHex)); System.out.println("十六进制0xAbcd装换成二进制:Integer.toString(iHex,2)="+Integer.toString(iHex,2)); System.out.println("十六进制0xAbcd装换成二进制:Integer.toBinaryString(iHex)="+Integer.toBinaryString(iHex)); //以上输出结果为: //十六进制0xAbcd装换成十进制:Integer.toString(iHex,10)=43981 //十六进制0xAbcd装换成十进制:Integer.toString(iHex)=43981 //十六进制0xAbcd装换成八进制:Integer.toString(iHex,8)=125715 //十六进制0xAbcd装换成八进制:Integer.toOctalString(iHex)=125715 //十六进制0xAbcd装换成二进制:Integer.toString(iHex,2)=1010101111001101 //十六进制0xAbcd装换成二进制:Integer.toBinaryString(iHex)=1010101111001101 //十六进制0xAbcd装换成七进制:Integer.toString(iHex,7)=242140 System.out.println(); //还可将任意进制的整数装换成其他任意进制的数字 System.out.println("十六进制0xAbcd装换成七进制:Integer.toString(iHex,7)="+Integer.toString(iHex,7)); } }
自定义方法
一、将十六进制中的字母转为对应的数字
// 将十六进制中的字母转为对应的数字 public int formatting(String a) { int i = 0; for (int u = 0; u < 10; u++) { if (a.equals(String.valueOf(u))) { i = u; } } if (a.equals("a")) { i = 10; } if (a.equals("b")) { i = 11; } if (a.equals("c")) { i = 12; } if (a.equals("d")) { i = 13; } if (a.equals("e")) { i = 14; } if (a.equals("f")) { i = 15; } return i; }
二、将十进制中的数字转为十六进制对应的字母
// 将十进制中的数字转为十六进制对应的字母 public String formattingH(int a) { String i = String.valueOf(a); switch (a) { case 10: i = "a"; break; case 11: i = "b"; break; case 12: i = "c"; break; case 13: i = "d"; break; case 14: i = "e"; break; case 15: i = "f"; break; } return i; }
三、任意进制数转为十进制数
// 任意进制数转为十进制数 public String toD(String a, int b) { int r = 0; for (int i = 0; i < a.length(); i++) { r = (int) (r + formatting(a.substring(i, i + 1)) * Math.pow(b, a.length() - i - 1)); } return String.valueOf(r); }
四、十六进制转二进制
// 十六进制转二进制 public String HToB(String a) { String b = Integer.toBinaryString(Integer.valueOf(toD(a, 16))); return b; }
五、二进制转十六进制
// 二进制转十六进制 public String BToH(String a) { // 将二进制转为十进制再从十进制转为十六进制 String b = Integer.toHexString(Integer.valueOf(toD(a, 2))); return b; }
相关文章推荐
- Ubuntu系统下运行Eclipse出现找不到jre的问题的解决方法
- 分享Ubuntu 14.04环境下如何下载安装android studio和jdk
- java的package和import机制
- Spring源码学习
- struts2整合spring
- 23种设计模式详解(Java示例)->适用于所有OO语言
- JavaScipt学习中的高阶函数
- OC和Java的比较
- java开发webservice的几种方式(转)
- java生产者/消费者模式实现——一生产者一消费者(操作值)
- java基础--相等
- java练习3,去除容器中自定义的重复对象
- java中array,arraylist,iterator;
- <转> JAVA CAS原理深度分析
- 个人学习-java-非static静态代码块
- java应用命名规范(自己总结的哈)
- Java模板引擎Velocity基本语法
- java多线程编程总结
- Eclipse下配置heritrix
- Struts2总结