JAVA怎么将INT完整输出为BINARYARRAY并保留高位的0
时间: 2024-02-20 13:56:07 浏览: 24
如果要保留高位的0,需要指定二进制字符串的长度,可以使用 Java 中的 `String.format()` 方法来实现。
示例代码如下:
```java
int num = 10; // 要转换的 int 类型变量
String binaryStr = String.format("%32s", Integer.toBinaryString(num)).replace(' ', '0'); // 转换为32位的二进制字符串
int[] binaryArray = new int[binaryStr.length()]; // 创建一个二进制数组
for (int i = 0; i < binaryStr.length(); i++) {
binaryArray[i] = binaryStr.charAt(i) - '0'; // 将二进制字符串转换为二进制数组
}
System.out.println(Arrays.toString(binaryArray)); // 输出二进制数组
```
在上面的代码中,我们使用了 `%32s` 格式化字符串,表示输出的字符串总长度为32,不足的地方用空格填充。然后使用 `replace()` 方法将空格替换成0,最后将二进制字符串转换为二进制数组,并输出。
运行结果为:`[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0]`,可以看到,输出的二进制数组中包含了高位的0。
相关问题
JAVA怎么将INT完整输出为BINARYARRAY
在 Java 中,可以使用 `Integer.toBinaryString(int)` 方法将一个 int 类型的变量转换为二进制字符串表示形式,然后再将该字符串转换为一个二进制数组。
下面是一个示例代码:
```java
int num = 10; // 要转换的 int 类型变量
String binaryStr = Integer.toBinaryString(num); // 转换为二进制字符串
int[] binaryArray = new int[binaryStr.length()]; // 创建一个二进制数组
for (int i = 0; i < binaryStr.length(); i++) {
binaryArray[i] = binaryStr.charAt(i) - '0'; // 将二进制字符串转换为二进制数组
}
System.out.println(Arrays.toString(binaryArray)); // 输出二进制数组
```
运行结果为:`[1, 0, 1, 0]`,表示 10 的二进制数为 1010。
java将Array转换为int[]
如果你是指将Array转换为int[]数组,可以使用Java 8的Stream API:
```java
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Integer[] arr = {1, 2, 3, 4, 5};
int[] intArr = Arrays.stream(arr).mapToInt(Integer::intValue).toArray();
System.out.println(Arrays.toString(intArr)); // [1, 2, 3, 4, 5]
}
}
```
这里我们先定义了一个Integer类型的数组,然后使用Arrays.stream方法将其转换为一个流。接着,我们使用mapToInt方法将流中的每个元素转换为int类型,再使用toArray方法将流转换为int[]数组。最后,我们打印出转换后的int[]数组。