Sets the bit specified by the index to false. - Java Language Basics

Java examples for Language Basics:Bit

Description

Sets the bit specified by the index to false.

Demo Code


//package com.java2s;

public class Main {
    public static void main(String[] argv) throws Exception {
        int bitset = 2;
        int bitIndex = 2;
        System.out.println(clear(bitset, bitIndex));
    }/*from w  w  w.  j  a v  a 2 s.  c  o  m*/

    /** maximum index of a bitset (minimum index is 0) */
    public static final int MAX_INDEX = 31;

    /**
     * Sets the bit specified by the index to <code>false</code>.
     * 
     * @param  bitset
     *         a bitset.
     * @param  bitIndex
     *         the index of the bit to be cleared.
     * @return the bitset with the cleared bit.
     * @throws IndexOutOfBoundsException
     *         if the specified index is negative or greater than
     *         {@link #MAX_INDEX}
     */
    public static int clear(int bitset, int bitIndex)
            throws IndexOutOfBoundsException {
        checkIndexRange(bitIndex, MAX_INDEX);
        return bitset & ~(1 << bitIndex);
    }

    /**
     * Throws an {@link IndexOutOfBoundsException} if the given bit index is
     * negative or if it the second argument is <code>true</code> also if the
     * index is greater than {@link #MAX_INDEX}.
     * 
     * @param  index
     * @param  checkMax
     * @throws IndexOutOfBoundsException
     */
    private static void checkIndexRange(int index, int maxIndex)
            throws IndexOutOfBoundsException {
        if (index < 0 || index > maxIndex)
            throw new IndexOutOfBoundsException("bitIndex [0..."
                    + MAX_INDEX + "]: " + index);
    }
}

Related Tutorials