gpt4 book ai didi

java - Long 为 64 位二进制字符串并将其添加到 8x8 数组

转载 作者:行者123 更新时间:2023-12-01 17:58:13 27 4
gpt4 key购买 nike

比如说,我有一个像这样的二进制字符串

11110001000010100000011000000110000001100000010100001000111100

它是 62 位,我希望它是 64

0011110001000010100000011000000110000001100000010100001000111100

我可以将其打印为 64,但如何保存它以便将其添加到数组中?

for(int i = 0; i < Long.numberOfLeadingZeros((long)num); i++) {
System.out.print('0');
}
System.out.println(Long.toBinaryString((long)num));

我还想添加二维数组,这样我就可以将其显示为 8x8

00111100
01000010
10000001
10000001
10000001
10000001
01000010
00111100

这是我将其添加到数组的代码,

for(int i = 0; i < bin1.length(); i++){
for(int j = 0; j < 8; j++){
for(int z = 0; z < 8; z++){
table[j][z] = bin1.charAt(i);
}
}
}

但是当我打印它时,它只打印 0s。

00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000

最佳答案

给你:

long num = 4342175383962075708L;
char[][] table = new char[8][8];
String bin1 = Long.toUnsignedString(num, 2);

while(bin1.length()<64){
bin1="0"+bin1;
}
//Store the bits in the array
int i=0;
for(int j = 0; j < 8; j++){
for(int z = 0; z < 8; z++){
table[j][z] = bin1.charAt(i++);
}
}
//Print the numbers
for(char[] m : table){
for(char n : m){
System.out.print(n);
}
System.out.println()
}

关于java - Long 为 64 位二进制字符串并将其添加到 8x8 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42990283/

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