
如何输出二进制java
用户关注问题
在Java中,如何将一个整数转换成对应的二进制字符串格式以便打印输出?
使用Integer.toBinaryString方法转换整数
Java提供了Integer类的toBinaryString方法,可以直接将一个整数转换成二进制字符串。示例代码:
int number = 10;
String binaryString = Integer.toBinaryString(number);
System.out.println(binaryString); // 输出1010
对于一个byte数组,怎样在Java中以二进制字符串的形式打印其内容?
遍历字节数组并转换每个字节为二进制
可以遍历byte数组,针对每个字节调用Integer.toBinaryString后,对字符串长度不足8位的部分进行补零,保证每个字节显示8位二进制。示例:
byte[] bytes = {1, 2, 3};
for(byte b : bytes) {
String binaryString = String.format("%8s", Integer.toBinaryString(b & 0xFF)).replace(' ', '0');
System.out.print(binaryString + " ");
}
如何保证输出的二进制字符串统一长度,比如补齐为32位,方便查看完整的二进制数据?
利用String.format和Integer.toBinaryString实现补齐
首先通过Integer.toBinaryString转换整数后,可能位数不满32位;利用String.format结合replace方法,将不足部分补零。示例如下:
int number = 5;
String binaryString = String.format("%32s", Integer.toBinaryString(number)).replace(' ', '0');
System.out.println(binaryString); // 输出00000000000000000000000000000101