杰瑞科技汇

Java int如何转二进制?

在 Java 中,将 int 类型转换为二进制字符串表示,可以使用 Integer 类的静态方法 toBinaryString(),以下是几种常见的方法和示例:

Java int如何转二进制?-图1
(图片来源网络,侵删)

方法 1:使用 Integer.toBinaryString()

这是最直接的方法,返回 int 的二进制字符串表示(不带前缀 0b)。

int num = 10;
String binaryStr = Integer.toBinaryString(num);
System.out.println(binaryStr); // 输出: 1010

方法 2:补全指定位数(如 8 位、16 位、32 位)

如果需要固定长度的二进制字符串(例如补全前导零),可以使用 String.format() 或手动补零。

示例:补全到 8 位

int num = 10;
String binaryStr = String.format("%8s", Integer.toBinaryString(num)).replace(' ', '0');
System.out.println(binaryStr); // 输出: 00001010

示例:补全到 32 位(完整 int 长度)

int num = 10;
String binaryStr = String.format("%32s", Integer.toBinaryString(num)).replace(' ', '0');
System.out.println(binaryStr); // 输出: 00000000000000000000000000001010

方法 3:手动计算二进制位

如果需要逐位处理(例如自定义格式),可以通过位运算手动计算每一位的值。

int num = 10;
StringBuilder binaryStr = new StringBuilder();
for (int i = 31; i >= 0; i--) {
    int bit = (num >> i) & 1;
    binaryStr.append(bit);
}
System.out.println(binaryStr.toString()); // 输出: 00000000000000000000000000001010

方法 4:带前缀 0b 的二进制字符串

如果需要包含 0b 前缀(类似 Python 的风格),可以手动拼接:

Java int如何转二进制?-图2
(图片来源网络,侵删)
int num = 10;
String binaryStr = "0b" + Integer.toBinaryString(num);
System.out.println(binaryStr); // 输出: 0b1010

方法 示例代码 输出(num=10 说明
Integer.toBinaryString() Integer.toBinaryString(10) 1010 标准二进制字符串
补全 8 位 String.format("%8s", ...).replace(' ', '0') 00001010 固定长度,补前导零
补全 32 位 String.format("%32s", ...).replace(' ', '0') 00000000000000000000000000001010 完整 int 长度
手动计算位 循环移位 + & 1 00000000000000000000000000001010 逐位处理
0b 前缀 "0b" + Integer.toBinaryString(10) 0b1010 类似 Python 风格

根据需求选择合适的方法即可!

分享:
扫描分享到社交APP
上一篇
下一篇