Иллюстрированный самоучитель по Java

Класс Biglnteger

Все примитивные целые типы имеют ограниченный диапазон значений. В целочисленной арифметике Java нет переполнения, целые числа приводятся по модулю, равному диапазону значений.

Для того чтобы было можно производить целочисленные вычисления с любой разрядностью, в состав Java API введен класс Biglnteger, хранящийся в пакете java.math. Этот класс расширяет класс Number, следовательно, в нем переопределены методы doubleValue(), floatValue(), intValue(), longValue(). Методы byteVaiue() и shortvalue() не переопределены, а прямо наследуются от класса Number.

Действия с объектами класса Biglnteger не приводят ни к переполнению, ни к приведению по модулю. Если результат операции велик, то число разрядов просто увеличивается. Числа хранятся в двоичной форме с дополнительным кодом.

Перед выполнением операции числа выравниваются по длине распространением знакового разряда.

Шесть конструкторов класса создают объект класса BigDecimai из строки символов (знака числа и цифр) или из массива байтов.

Две константы – ZERO и ONE – моделируют нуль и единицу в операциях с объектами класса Biglnteger.

Метод toByteArray() преобразует объект в массив байтов.

Большинство методов класса Biglnteger моделируют целочисленные операции и функции, возвращая объект класса Biglnteger:

  • abs() – возвращает объект, содержащий абсолютное значение числа, хранящегося в данном объекте this;
  • add(x) – операция this + х;
  • and(x) – операция this & х;
  • andNot(x) – операция this & (~х);
  • divide (x) – операция this / х;
  • divideAndRemainder(х) – возвращает массив из двух объектов класса Biglnteger, содержащих частное и остаток от деления this на х;
  • gcd(x) – наибольший общий делитель, абсолютных, значений объекта this и аргумента х;
  • mах(х) – наибольшее из значений объекта this и аргумента х;
  • min(x) – наименьшее из значений объекта this и аргумента х;
  • mod(x) – остаток от деления объекта this на аргумент метода х;
  • modinverse(x) – остаток от деления числа, обратного объекту this, на аргумент х;
  • modPow(n, m) – остаток от деления объекта this, возведенного в степень n, на m;
  • multiply (х) – операция this * х;
  • negate() – перемена знака числа, хранящегося в объекте;
  • not() – операция ~this;
  • оr(х) – операция this | х;
  • pow(n) – операция возведения числа, хранящегося в объекте, в степень n;
  • remainder(х) – операция this % х;
  • SHIFTLeft (n) – операция this << n;
  • SHIFTRight (n) – операция this >> n;
  • signum() – функция sign (x);
  • subtract (x) – операция this – x;
  • xor(x) – операция this ^ x.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.