① 用java把二进制数转换成十进制数。
一楼回答的非常详尽了哈,
就是感觉太多了,
个人觉得,比较常用的就是Integer的parseInt()方法,
使用起来也非常方便:
int a = Integer.parInt("你的二进制数", 2);
② Java二进制、八进制、十进制、十六进制转换
在编程中,数字转换是常见的操作。本文将介绍如何在Java中实现不同进制之间的转换,包括二进制、八进制、十进制和十六进制。转换的基本原理是将一个数从一种进制表示转换为另一种进制表示。在Java中,可以使用`Integer.valueOf()`或`Integer.parseInt()`方法实现这一过程。
`Integer.valueOf()`方法接收两个参数:第一个是需要转换的字符串表示,第二个是目标进制的整数值(如2、8、10、16)。此方法将字符串表示的数字转换为指定进制的整数值。`Integer.parseInt()`方法的工作原理相似,用于解析字符串并将其转换为指定进制的整数。
下面是一些示例,展示如何在Java中实现不同进制之间的转换:
**十进制转N进制**:将十进制整数转换为其他进制表示。
**十进制转二进制**:
java
int decimalNumber = 10;
String binary = Integer.toBinaryString(decimalNumber);
System.out.println(binary);
**十进制转十六进制**:
java
int decimalNumber = 10;
String hexadecimal = Integer.toHexString(decimalNumber);
System.out.println(hexadecimal);
**二进制转换为八进制**:首先将二进制转换为十进制,然后将十进制转换为八进制。
java
String binary = "101010";
int decimal = Integer.parseInt(binary, 2);
String octal = Integer.toOctalString(decimal);
System.out.println(octal);
**十六进制转换为八进制**:同样,将十六进制转换为十进制,再将十进制转换为八进制。
java
String hex = "2A";
int decimal = Integer.parseInt(hex, 16);
String octal = Integer.toOctalString(decimal);
System.out.println(octal);
**八进制转换为十六进制**:先将八进制转换为十进制,再将十进制转换为十六进制。
java
String octal = "22";
int decimal = Integer.parseInt(octal, 8);
String hexadecimal = Integer.toHexString(decimal);
System.out.println(hexadecimal);
通过这些示例,我们可以看到不同进制转换在Java中的实现方法。在实际应用中,选择适当的方法和转换路径取决于特定的场景和需求。
③ java中的进制如何转化
在Java中,进制转换主要涉及二进制、八进制、十进制和十六进制四种,转换方法如下:
1. 十进制转其他进制: 转十六进制:使用Integer.toHexString,例如Integer.toHexString将十进制10转换为十六进制字符串。 转八进制:使用Integer.toOctalString,例如Integer.toOctalString将十进制10转换为八进制字符串。 转二进制:使用Integer.toBinaryString,例如Integer.toBinaryString将十进制10转换为二进制字符串。
2. 其他进制转十进制: 十六进制转十进制:使用Integer.valueOf或Integer.parseInt,其中radix为16,例如Integer.valueOf或Integer.parseInt将十六进制字符串”FFFF”转换为十进制。 八进制转十进制:同样使用Integer.valueOf或Integer.parseInt,其中radix为8,例如Integer.valueOf或Integer.parseInt将八进制字符串”17”转换为十进制。 二进制转十进制:同样使用Integer.valueOf或Integer.parseInt,其中radix为2,例如Integer.valueOf或Integer.parseInt将二进制字符串”0101”转换为十进制。
3. 二进制、八进制和十六进制之间的转换: 通常先将目标进制转换为十进制,然后再将十进制转换为所需进制。例如,将十六进制”FF”转为二进制,可以先用Integer.valueOf或Integer.parseInt将其转为十进制,然后再用Integer.toBinaryString将其转为二进制字符串。
注意事项: 在Java中,整数字面量前加0表示八进制,加0x或0X表示十六进制,二进制则没有类似的字面量表示法,需要通过转换方法得到。 转换结果通常为字符串形式,如果需要整数形式,可以根据需要进行类型转换。
④ java实现:整数进制相互转换
java实现:整数进制相互转换的方法:
十进制转为二进制、八进制、十六进制, 用 Integer.toXXXString()方法
(1)十进制转为二进制: Integer.toBinaryString(int i);
public static String toBinaryString(inti):以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
(2)十进制转为8进制 :Integer.toOctalString(int i);
public static String toOctalString(inti):以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。
(3)十进制转为16进制: Integer.toHexString(int i);
public static String toHexString(inti):以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。
举例:
Stringbin=Integer.toBinaryString(10);
Stringoct=Integer.toOctalString(10);
Stringhex=Integer.toHexString(10);
2.十六进制、八进制、二进制转为十进制(有两种方法):parseInt() 和valueOf()。
Integer.parseInt(String s,int radix);
public static int parseInt(String s,int radix) throws NumberFormatException{}使用第二个参数作为指定的基数,将字符串参数解析为有符号的整数;
Integer.valueOf(String s,int radix);
public static Integer valueOf(Strings, intradix) throws NumberFormatException{}返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。
举例:
try{
inti=Integer.parseInt("a",16);
//输出为10进制数10
System.out.println(i);
}catch(Exceptione){
e.printStackTrace();
}
try{
//十六进制转成十进制
Stringhex=Integer.valueOf("FFFF",16).toString();
System.out.println(hex);
//八进制转成十进制
Stringoct=Integer.valueOf("12",8).toString();
System.out.println(oct);
//二进制转十进制
Stringbin=Integer.valueOf("0101",2).toString();
System.out.println(bin);
}catch(Exceptione){
e.printStackTrace();
}
⑤ java中怎么把字符串解析成10进制数
java.lang.Integer中有一个方法:valueOf(String s,int radix),其中s为传入的参数,radix为要将这个字符串中每一个数将被识别成什么进制的数,不过无论字符串中的每一位被是识别成什么都不重要,结果是它都转换成了10进制数。比如:
定义一个字符串val s:String = "924"
再定义一个变量val z = Integer.valueOf(s,10),即可把字符串s中每一位数识别为10进制数,即‘9’就是十进制中的9,‘2’就是十进制中的2,‘4’就是10进制中的4,所以最后转换成10进制数依旧为924
但是如果将变量z定义成val z = Integer.valueOf(s,16),即可把字符串s中每一位数识别为16进制数,即‘9’就是16进制中的9,‘2’就是16进制中的2,‘4’就是16进制中的4,所以转换成10进制数为2340