3

8 つの整数 (0 または 1) の配列を Java バイト型に変換しようとしています。

例えば

 [1,0,1,0,0,0,1,0] = 10100010

オンラインで検索してみましたが、正しいクエリを入力していないのでしょうか? 前もって感謝します!

4

2 に答える 2

3

配列を読み取る特定のインデックスに対して true/false に使用BitSetset()、それをバイト配列に変換します

于 2013-09-24T03:19:09.680 に答える
0

これを試すことができます

    byte[] bits = { 1, 0, 1, 0, 0, 0, 1, 0 };
    byte b = 0;
    for (int i = 0, m = 0x80; i < 8; i++, m >>= 1) {
        if (bits[i] == 1) b |= m;
    }

またはこの1行のソリューション

byte b = (byte) Integer.parseInt(Arrays.toString(bits).toString().replaceAll("\\D", ""), 2);
于 2013-09-24T04:08:59.277 に答える