gpt4 book ai didi

java - 整数到二进制数组

转载 作者:太空狗 更新时间:2023-10-29 22:59:23 24 4
gpt4 key购买 nike

我正在尝试将整数转换为 7 位 boolean 二进制数组。到目前为止,代码不起作用:如果我输入要转换的整数 8,而不是 0001000,我得到 1000000,或者说 15 我应该得到 0001111,但我得到 1111000。char 数组与二进制数组的长度不同,位置错误。

public static void main(String[] args){

String maxAmpStr = Integer.toBinaryString(8);
char[] arr = maxAmpStr.toCharArray();
boolean[] binaryarray = new boolean[7];
for (int i=0; i<maxAmpStr.length(); i++){
if (arr[i] == '1'){
binaryarray[i] = true;
}
else if (arr[i] == '0'){
binaryarray[i] = false;
}
}

System.out.println(maxAmpStr);
System.out.println(binaryarray[0]);
System.out.println(binaryarray[1]);
System.out.println(binaryarray[2]);
System.out.println(binaryarray[3]);
System.out.println(binaryarray[4]);
System.out.println(binaryarray[5]);
System.out.println(binaryarray[6]);
}

感谢任何帮助。

最佳答案

确实不需要为此处理字符串,只需对您感兴趣的 7 位进行按位比较即可。

public static void main(String[] args) {

int input = 15;

boolean[] bits = new boolean[7];
for (int i = 6; i >= 0; i--) {
bits[i] = (input & (1 << i)) != 0;
}

System.out.println(input + " = " + Arrays.toString(bits));
}

关于java - 整数到二进制数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8151435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com