Java BitSet Create bitSet(byte[] bytes)

Here you can find the source of bitSet(byte[] bytes)

Description

Create a BitSet instance,start index is 0

example:

 byte:   50 binary: 0b110010 +--------+---+---+---+---+---+---+---+---+ |  bits  | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | +--------+---+---+---+---+---+---+---+---+ | bitset | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | +--------+---+---+---+---+---+---+-------+ bitSet.toString(): {2, 3, 6} 

License

Apache License

Parameter

Parameter Description
bytes bytes

Return

bitSet

Declaration

public static BitSet bitSet(byte[] bytes) 

Method Source Code

//package com.java2s;
/*/*from w  w  w  .  j  a  va 2  s. co  m*/
 * Copyright 2014 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.util.BitSet;

public class Main {
    /**
     * Create a BitSet instance,start index is 0
     * <p>
     * example:
     * </p>
     * <pre>
     *    byte:   50
     *    binary: 0b110010
     *
     *    +--------+---+---+---+---+---+---+---+---+
     *    |  bits  | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 |
     *    +--------+---+---+---+---+---+---+---+---+
     *    | bitset | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
     *    +--------+---+---+---+---+---+---+-------+
     *
     *    bitSet.toString(): {2, 3, 6}
     * </pre>
     *
     * @param bytes bytes
     * @return bitSet
     */
    public static BitSet bitSet(byte[] bytes) {
        if (bytes == null) {
            return null;
        }
        BitSet bit = new BitSet();
        int index = 0;
        for (byte aByte : bytes) {
            for (int j = 7; j >= 0; j--) {
                bit.set(index++, (aByte & (1 << j)) >>> j == 1);

            }
        }
        return bit;
    }
}

Related

  1. bitSet(byte[] bytes)
  2. bitSet(String string)
  3. bitSetFrom(long number)
  4. bitsetFromIndices(int size, int... indices)
  5. bitsetFromString(String pixelsString)