Java中的进制转换
来源:互联网 发布:c语言static volatile 编辑:程序博客网 时间:2024/06/06 20:00
方法一:
java的包lang中,有一个类integer,类中包含进制相互转换的方法(lang是默认包,不需要导入)
如:1. 10进制转换为16进制: Integer.toHexString(int i);
例: System.out.println(Integer.toHexString(28));
输出结果为:1c
2. 10进制转换为8进制 : Integer.toOctalString(int i);
例: System.out.println(Integer.toOctalString(28));
输出结果为: 34
3. 10进制转换为2进制 :Integer.toBinaryString(int i);
例: System.out.println(Integer.toBinaryString(28));
输入结果 :11100
4. 16进制转换为10进制 : Integer.valueOf("FFFF",16);
例 : System.out.println(Integer.valueOf("28",16);
输出结果 : 40 (此时返回的是int型)
System.out.println(Integer.valueOf("28",16).toString());
输出结果 : 40 (此时返回的是String型)
5. 8进制转换为10进制 : Integer.valueOf("765",8);
例 : System.out.println(Integer.valueOf("27",8).toString());
输出结果 : 23
6. 2进制转换为10进制 :Integer.valueOf("0101",2);
例 : System.out.println(Integer.valueOf("101",2));
输出结果 : 5
说明:integer类中的valueOf方法:
public static Integer valueOf(String s, int radix);
s:给定的要解析的字符,(即我们要转换的数实际是以字符串的形式,使用变量声明时应该用String)
radix :解析s时使用的基数,(即要将s转换成多少进制的数)
此时返回的值是一个整型数,而不是字符串。如果要转换成字符串,需要加上( .String() 5所示)
方法二 :以16转换为10为例:
代码如下:
String a=input.next(); //输入一个16进制字符串(input所在类需要导入)
int len=a.length(); //字符串a的长度
int sum = 0; //10进制最后的求和
for(int i=0;i<len;i++){
char b=a.charAt(len-1-i); //分别取出字符串里每个字符
int n=Character.digit(b,16) //将该位上的字符转换为16进制的数
sum+=n*(1<<(4*i)) //将16进制数对应的位的值求出,并相加,得出10进制的结果(此处计算机默认是10进制的加减)
}
例:输入a,输出10
String a=input.next();
char b=a.charAt(0);
//上面的代码是获取输入的一个字符
int n=Character.digit(b,16);
//Character.digit(char ch,int radix); 返回指定基数的指定字符(Unicode代码点)的数值。
//即将字符b转换为16进制的数
System.out.println(n);
- Java中的进制转换
- java中的进制转换
- java中的进制转换
- java中的进制转换
- JAVA中的进制转换
- JAVA中的进制转换
- Java中的进制转换
- Java中的进制转换
- Java中的进制转换
- Java中的进制转换
- java中的进制转换方法
- Java中的进制转换,练习
- java中的进制转换问题
- Java中的进制转换方法
- JAVA中的进制转换问题
- Java中的类型转换和进制转换
- java中的进制转换及转换函数
- java进制转换在数组中的体现
- 目标文件(可重定位文件)结构
- JSONP
- 大学生职业规划
- java AWT处理位图
- c++值构造函数和析构函数
- Java中的进制转换
- 说说闭包吧~~
- 物联网可以从这3方面入手改变内容营销
- View的事件分发机制
- 学习权限文件类型等内容
- 策略模式
- java修饰符介绍
- web 基础(二)
- 在HTML中引入多个css文件