首页  > 教育解读  > java如何转换二进制

java如何转换二进制

2025-04-30 20:16:58
刘老师
刘老师已认证

刘老师为您分享以下优质知识

在Java中,将二进制转换为其他进制或数值类型的方法如下:

一、二进制转十进制

使用`Integer.parseInt`方法

适用于固定长度的二进制字符串(如"10011100")。

```java

String binaryStr = "10011100";

int decimal = Integer.parseInt(binaryStr, 2);

System.out.println(decimal); // 输出 156

```

使用`Integer.valueOf`方法

支持带前缀的十六进制字符串(如"0xFF")。

```java

String hexStr = "0xFF";

int decimal = Integer.valueOf(hexStr, 16);

System.out.println(decimal); // 输出 -255(有符号数)

```

二、二进制转八进制

使用`Integer.toOctalString`方法

适用于二进制字符串(如"10011100")。

```java

String binaryStr = "10011100";

String octalStr = Integer.toOctalString(Integer.parseInt(binaryStr, 2));

System.out.println(octalStr); // 输出 304

```

三、二进制转十六进制

使用`Integer.toHexString`方法

适用于二进制字符串(如"10011100")。

```java

String binaryStr = "10011100";

String hexStr = Integer.toHexString(Integer.parseInt(binaryStr, 2));

System.out.println(hexStr); // 输出 FF

```

四、其他注意事项

整数范围限制:

上述方法适用于`int`类型(-2^31 到 2^31-1),超出范围需使用`Long`类型(`Long.toBinaryString`等)。

非整数转换:若需将浮点数转为二进制,可使用`Float.toBinaryString`或`Double.toBinaryString`。

示例代码汇总

```java

public class BinaryConverter {

public static void main(String[] args) {

String binaryStr = "10011100";

// 转换为十进制

int decimal = Integer.parseInt(binaryStr, 2);

System.out.println("十进制: " + decimal);

// 转换为八进制

String octalStr = Integer.toOctalString(Integer.parseInt(binaryStr, 2));

System.out.println("八进制: " + octalStr);

// 转换为十六进制

String hexStr = Integer.toHexString(Integer.parseInt(binaryStr, 2));

System.out.println("十六进制: " + hexStr);

// 转换为二进制字符串(不改变值)

String binaryStr2 = Integer.toBinaryString(decimal);

System.out.println("二进制字符串: " + binaryStr2);

}

}

```

通过以上方法,可灵活实现二进制与其他进制之间的转换。