Search code examples
javabinarybitset

How to input an integer's binary expression into a bitSet in java


How to input an integer's binary expression into a bitSet in java?

say a = 15 I want put 1111 into a bitSet,

is there a function for this?


Solution

  • BitSet has a static valueOf(long[]) method which

    Returns a new bit set containing all the bits in the given long array.

    So an array with one long will have 64 bits, an array with two longs will have 128 bits, etc.

    If you only need to get a BitSet from a single int value, use it like so

    Integer value = 42;
    System.out.println(Integer.toBinaryString(value));
    BitSet bitSet = BitSet.valueOf(new long[] { value });
    System.out.println(bitSet);
    

    It prints

    101010
    {1, 3, 5}
    

    In other words, from the right to left in the representation above, the 2nd, 4th, and 6th bit are set.