概述
Java中进制之间的转换
- 将10进制转换为其他进制,比如16进制,10进制,8进制,6进制,2进制等。
/*
把Integer类型或者int类型转换为其他进制的String类型
比如把17(10进制) 转换为 16进制,10进制,8进制,6进制,2进制
1.进制下的特有方法 toHexString,toOctalString..
2.通用的方法 toString(num,radix)
*/
System.out.println(Integer.toHexString(17));
//16进制
----> 11
System.out.println(Integer.toString(17));
//10进制
----> 17
System.out.println(Integer.toOctalString(17)); //8进制
----> 21
System.out.println(Integer.toString(17,6)); //6进制 ----> 25
System.out.println(Integer.toBinaryString(17));
//2进制
----> 10001
转换结束后,是 String
类型。
注意:0 转换为2进制后,并不是 "00"
,或者 “000” ,而是只有一个 "0"
。也就是说长度是合适的最小长度。
- 将其他进制转换为10进制
/*
将数字字符串形式转换成10进制
*/
//将字符串"11" 转成16进制下的数值
->
17
System.out.println(Integer.parseInt("11",16));
//将字符串"17" 转成10进制下的数值
->
17
System.out.println(Integer.parseInt("17",10));
//将字符串"21" 转成18进制下的数值
->
17
System.out.println(Integer.parseInt("21",8));
//将字符串"25" 转成6进制下的数值
->
17
System.out.println(Integer.parseInt("25",6));
//将字符串"10001" 转成2进制下的数值
->
17
System.out.println(Integer.parseInt("10001",2));
- 其他进制与其他进制之间的转换
/*
将2进制下的 "10001" 转换成 8进制
//2进制字符串转成10进制数值,10进制数值在转换成8进制字符串,8进制字符串转换成8进制数值
*/
//"10001"
---> 17
int i = Integer.parseInt("10001", 2);
//17 -----> "21"
String s = Integer.toOctalString(i);
//"21"
-------- > 21
//此时的21是8进制下的 也就是 0o21,当然你可以认为是 数值21,看你怎么利用。
System.out.println(Integer.parseInt(s));
- 输入输出及格式化
System.out.println("把2,8,16进制的数字,直接打印为10进制:");
System.out.format("%d", 17).println();
System.out.format("%d",0b10001).println();
System.out.format("%d", 021).println();
System.out.format("%d", 0x11).println();
System.out.println("把10进制,直接打印为2,8,16进制,而且可以控制输出形式:");
System.out.format("%d", 10).println();
System.out.println(Integer.toString(17,2));
System.out.format("%o, %#o, %#4o, %#04o", 17, 17, 17, 17).println();
System.out.format("%x, %#x, %#4x, %#04x", 17, 17, 17, 17).println();
System.out.println();
欢迎交流欢迎交流
最后
以上就是无奈季节为你收集整理的Java中进制之间的转换的全部内容,希望文章能够帮你解决Java中进制之间的转换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复