位置:首页 > Java技术 > Java.math包 > Java.math.BigInteger.getLowestSetBit()方法实例

Java.math.BigInteger.getLowestSetBit()方法实例

 java.math.BigInteger.getLowestSetBit()返回BigInteger最右边的(最低阶)的一个1比特位(零比特到最右边的1位的权数)的索引。如果此BigInteger包含无比特位,它返回-1。它计算(this==0? -1 : log2(this & -this)).

声明

以下是java.math.BigInteger.getLowestSetBit()方法的声明

public int getLowestSetBit()

参数

  • NA

返回值

此方法返回BigInteger最右边的1位的索引。

异常

  • NA

例子

下面的例子显示math.BigInteger.getLowestSetBit()方法的用法

package com.yiibai;

import java.math.*;

public class BigIntegerDemo {

public static void main(String[] args) {

        // create 2 BigInteger objects
	BigInteger bi1, bi2;

	// create 2 int objects
	int i1, i2;

	// assign values to bi1, bi2
	bi1 = new BigInteger("8");//1000
	bi2 = new BigInteger("7");//0111

	// perform getLowestSetBit on bi1, bi2
	i1 = bi1.getLowestSetBit();
	i2 = bi2.getLowestSetBit();

	String str1 = "Index of rightmost one bit in " +bi1+ " is " +i1;
	String str2 = "Index of rightmost one bit in " +bi2+ " is " +i2;

	// print i1, i2 values
	System.out.println( str1 );
	System.out.println( str2 );
    }
}

让我们编译和运行上面的程序,这将产生以下结果:

Index of rightmost one bit in 8 is 3
Index of rightmost one bit in 7 is 0