Método BigInteger setBit() en Java

El método java.math.BigInteger.setbit(index) devuelve un Big-integer cuyo valor es equivalente a este Big-integer con el conjunto de bits designado. El método calcula (este | (1<<n)). El bit en el índice n de la representación binaria de Big-integer se establecerá como medio convertido a 1.

Sintaxis: 

public BigInteger setbit(int n)

Parámetros: El método toma un parámetro n que se refiere al índice del bit que se necesita configurar.
Valor devuelto: el método devuelve el valor de BigInteger después de establecer la posición de bit n.
Excepciones: el método puede generar una ArithmeticException cuando n es negativo.

Ejemplos

Input: value = 2300 index = 1
Output: 2302
Explanation:
Binary Representation of 2300 = 100011111100
bit at index 1 is 0 so set the bit at index 1 
Now Binary Representation becomes 100011111110
and Decimal equivalent of 100011111110 is 2302

Input: value = 5482549 index = 1
Output: 5482551

El siguiente programa ilustra el método setBit(index) de BigInteger: 

Java

// Program to demonstrate setBit() method of BigInteger
 
import java.math.*;
 
public class GFG {
 
    public static void main(String[] args)
    {
 
        // Creating BigInteger object
        BigInteger biginteger = new BigInteger("2300");
 
        // Creating an integer i for index
        int i = 1;
 
        // Calling setBit() method on bigInteger at index i
        // store the return BigInteger
        BigInteger changedvalue = biginteger.setBit(i);
 
        String result = "After applying setBit at index " +
        i + " of " + biginteger+ " New Value is " + changedvalue;
 
        // Displaying the result
        System.out.println(result);
    }
}
Producción: 

After applying setBit at index 1 of 2300 New Value is 2302

 

Referencia: https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#setBit(int)
 

Publicación traducida automáticamente

Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *