集册 Java实例教程 返回具有指定索引的位的值。

返回具有指定索引的位的值。

欢马劈雪     最近更新时间:2020-01-02 10:19:05

517
提示:您可在线编辑运行本教程的实例 - 运行实例,去试试!
返回具有指定索引的位的值。
/** 
来 自 
时代Java公众号 - nowjava.com
**/


//package com.nowjava;


public class Main {

    public static void main(String[] argv) throws Exception {

        int bitset = 2;

        int bitIndex = 2;

        System.out.println(get(bitset, bitIndex));

    }


    /** maximum index of a bitset (minimum index is 0) */

    public static final int MAX_INDEX = 31;


    /**

     * Returns the value of the bit with the specified index. The value is

     * <code>true</code> if the bit with the index <code>bitIndex</code> is

     * currently set in this <code>BitSet</code>; otherwise, the result is

     * <code>false</code>.

     * 

     * @param  bitset

     *         a bitset.

     * @param  bitIndex

     *         the bit index.

     * @return the value of the bit with the specified index.

     * @throws IndexOutOfBoundsException

     *         if the specified index is negative or greater than

     *         {@link #MAX_INDEX}

     */

    public static boolean get(int bitset, int bitIndex)

            throws IndexOutOfBoundsException {
            /*
            n o w j a v a . c o m 提 供
            */

        checkIndexRange(bitIndex, MAX_INDEX);

        return (bitset & (1 << bitIndex)) != 0;

    }


    /**

     * 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, 
展开阅读全文