gpt4 book ai didi

java - 拆分矩阵中的二进制值

转载 作者:行者123 更新时间:2023-12-01 11:44:37 24 4
gpt4 key购买 nike

我有 3x2 矩阵,我将其转换为二进制格式。每个二进制表示应有 7 位。我使用 String.format 方法来获取二进制矩阵。

0000111 1101000
0000101 1100101
0001100 1110010

现在我需要将每个二进制值拆分为各个位,以便将 3x2 矩阵转换为 3x14。

`int[][] p = {{7,104},{5,101},{12,114}};
int n;
String[][] P = new String[3][2];
for (int i =0; i<3;i++)
{
for(int j=0 ; j<2;j++)
{
P[i][j] =String.format("%7s", Integer.toBinaryString(p[i][j])).replace(' ', '0');
}
}`

如何将二进制字符串拆分为单独的位以获得 3x14 矩阵?可以使用 String.split() 方法吗?我如何对该矩阵使用该方法?

最佳答案

static int[][] p = {{7,104},{5,101},{12,114}};
static int bit( int[][] p, int row, int col ){
return (p[row][col/7] >> (7 - col%7 - 1)) & 1;
}

col/7 为范围 0-6 和 7-14 生成 0 和 1。 col%7 的结果为值 0,1,...6。因此,移位会移位 6,5,...0 次。

public static void main(String[] args)throws Exception {
for( int r = 0; r < 3; ++r ){
for( int c = 0; c < 14; ++c ){
System.out.print( " " + bit(p, r,c) );
}
System.out.println();
}

当然,您可以将其存储在 3x14 数组中。

关于java - 拆分矩阵中的二进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29261759/

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