首页  > 教育解读  > 十进制转二进制怎么算java

十进制转二进制怎么算java

2025-05-20 15:00:48
星海幻梦
星海幻梦已认证

星海幻梦为您分享以下优质知识

在Java中,十进制转二进制主要有以下三种方法,涵盖内置方法、位运算和自定义逻辑实现:

一、使用内置方法(推荐)

Java提供了`Integer`类的`toBinaryString()`方法,可快速完成转换:

```java

int num = 100;

String binaryString = Integer.toBinaryString(num);

System.out.println(binaryString); // 输出1100100

```

优点:简洁高效,适用于快速转换。

二、位运算实现

通过位运算符(如`&`)逐位提取二进制位:

```java

int decimal = 156;

String binary = Integer.toBinaryString(decimal); // 或使用 String.format("%32s", Integer.toBinaryString(decimal)).replace(' ', '0')

System.out.println(binary); // 输出10011100

```

说明:`Integer.toBinaryString()`内部使用位运算实现,效率较高。

三、自定义逻辑实现(除基取余法)

通过循环除以2取余数,倒序拼接:

```java

public void binaryToDecimal(int n) {

StringBuilder binary = new StringBuilder();

while (n >

0) {

binary.insert(0, n % 2);

n /= 2;

}

System.out.println(binary.toString());

}

```

注意事项:

使用`StringBuilder`提高效率,避免字符串拼接开销;

处理负数时,`toBinaryString()`会返回补码表示。

四、其他方法

栈法:利用栈存储余数后倒序输出;

格式化输出:使用`String.format`补零至固定长度。

总结:优先使用`Integer.toBinaryString()`方法,若需自定义逻辑可参考除基取余法。注意处理负数时二进制表示的符号位。