进制转换
进制转化的几个方法.
进制转化在JAVA中已经封装好了.
无论是常规的10转2,8,16,还是相对应的2,8,16进制转化为10进制的方法,当然也包括10->n进制,n进制转10进制的常规方法.
都被封装在Integer对象中.
10进制转化其他进制 | 对应的方法,参数:n(原10进制数据),r(进制) | 返回值 |
10进制转二进制 | Integer.toBinaryString(n); | 一个二进制字符 |
10进制转八进制 | Integer.toOctalString(n); | 一个八进制字符 |
10进制转十六进制 | Integer.toHexString(n); | 一个十六进制字符 |
10进制转 r 进制 | Integer.toString(100, 16); | 一个r进制字符串 |
package 进制转换; public class test1 { public static void main(String[] args) { int n=11; System.out.println(n+"的二进制是:"+Integer.toBinaryString(n)); System.out.println(n+"的八进制是:"+Integer.toOctalString(n)); System.out.println(n+"的十六进制是:"+Integer.toHexString(n)); System.out.println(n+"的三进制是:"+Integer.toString(n, 3)); } }
下面是r进制转10进制
r进制转10进制 | 方法 |
radix进制的字符串s转10进制 | Integer.parseInt((String) s,(int) radix); |
package 进制转换; public class test2 { public static void main(String[] args) { String s="1011"; System.out.println(s+"十进制是:"+Integer.parseInt(s, 2));//2是代表s是二进制 } }
下面是一道进制转换的水题
题目描述: 写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 ) 输入描述: 输入一个十六进制的数值字符串。 输出描述: 输出该数值的十进制字符串。 输入例子 0xA 输出例子: 10
一开始做过一道类似的题目,是用switch,一个个对应来做的,太麻烦了,后来找到个简单的
package 进制转换; import java.util.Scanner; public class test3 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String s=sc.nextLine(); int i=Integer.parseInt(s.substring(2), 16); //s.substring()是截取,跳过前两个字符0x System.out.println(i); } }