Java BitSet to bitset2bytes(BitSet bits, byte[] bytes)

Here you can find the source of bitset2bytes(BitSet bits, byte[] bytes)

Description

bitsetbytes

License

Apache License

Declaration

public static byte bitset2bytes(BitSet bits, byte[] bytes) 

Method Source Code

//package com.java2s;
/**/*w w  w.j  av a2  s. com*/
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you 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 {
    public static byte bitset2bytes(BitSet bits, byte[] bytes) {
        byte nbyte = (byte) (bits.length() / 8 + 1);
        if (bytes.length < nbyte) {
            bytes = new byte[nbyte];
        }

        for (int i = 0; i < bits.length(); i++) {
            if (bits.get(i)) {
                bytes[nbyte - i / 8 - 1] |= 1 << (i % 8);
            }
        }
        return nbyte;
    }
}

Related

  1. Bitset2BitString(BitSet bitset, int length)
  2. bitSet2byte(BitSet b, int bytes)
  3. bitSet2extendedByte(BitSet b)
  4. bitSet2Int(BitSet bs)
  5. bitsetToDoubleArray(BitSet bs, int n)
  6. bitsetToIndices(BitSet bits)