Метод BigInteger shiftRight () в Java

Опубликовано: 13 Февраля, 2022

предварительное условие: Основы BigInteger

Метод java.math.BigInteger.shiftRight (int n) возвращает BigInteger, значение которого (this >> n). Расстояние сдвига n может быть отрицательным, и в этом случае этот метод выполняет сдвиг влево. Метод shiftRight () перемещает каждую цифру в двоичном представлении числа n раз вправо, а последний бит в направлении сдвига заменяется на 0. Этот метод shiftRight () вычисляет пол (this / 2 ^ n).

Синтаксис:

 общедоступный BigInteger shiftRight ( int n )

Параметр: метод принимает один параметр n целочисленного типа, который указывает расстояние сдвига в битах.

Возвращаемое значение: метод возвращает BigInteger после n-кратного сдвига битов вправо.

Исключения: метод может вызвать исключение ArithmeticException, если расстояние сдвига равно Integer.MIN_VALUE.

Примеры:

Ввод : BigInteger = 2300, n = 3
Выход : 287
Объяснение:
Двоичное представление 2300 = 100011111100
Расстояние сдвига, n = 3. 
После переключения 100011111100 вправо 3 раза,
Двоичное представление становится 100011111
Десятичный эквивалент 100011111 - 287.

Ввод : BigInteger = 35000, n = 5
Выход : 1093

Below program illustrates shiftRight(index) method of BigInteger:

// Program to demonstrate shiftRight()
// method of BigInteger 
  
import java.math.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // Create BigInteger object
        BigInteger biginteger = new BigInteger("2300");
  
        // Create a int i for Shift Distance
        int i = 3;
  
        // Call shiftRight() method on bigInteger at index i
        // store the return value as BigInteger
        BigInteger changedvalue = biginteger.shiftRight(i);
  
        String result = "After applying shiftRight by Shift Distance " + i + 
        " on " + biginteger + " New Value is " + changedvalue;
  
        // Print result
        System.out.println(result);
    }
}
Output:
After applying shiftRight by Shift Distance 3 on 2300 New Value is 287

Ссылка: https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#shiftRight(int)

Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .