
- •Пакет java.lang. Классы StringBuffer и StringBuilder (1)
- •Пакет java.lang. Классы StringBuffer и StringBuilder (2)
- •Пакет java.lang Классы StringBuffer и StringBuilder (3)
- •Пакет java.lang Классы StringBuffer и StringBuilder (4)
- •Пакет java.lang. Классы StringBuffer и StringBuilder (5)
- •Пакет java.lang Класс Enum. Перечисления
- •Перечисления Пример1: Светофор (1)
- •Перечисления Пример1: Светофор (2)
- •Перечисления Расширения Enum (1)
- •Перечисления Пример2: Светофор
- •Перечисления Расширения Enum (2)
- •Пакет java.lang Обертки примитивных типов (1)
- •Пакет java.lang Обертки примитивных типов (2)
- •Пакет java.lang Обертки примитивных типов (3)
- •Пакет java.lang Методы классов-оберток (1)
- •Пакет java.lang Методы классов-оберток (2)
- •Пакет java.lang Методы классов-оберток (3)
- •Пакет java.lang Методы классов-оберток (4)
- •Пакет java.lang Методы классов-оберток (5)
- •Пакет java.lang Методы классов-оберток (6)
- •Пакет java.lang Методы классов-оберток (7)
- •Пакет java.lang Методы класса Character (1)
- •Пакет java.lang Методы класса Character (2)
- •Пакет java.lang Внутренние классы класса Character
- •Пакет java.lang Методы класса Math (1)
- •Пакет java.lang Методы класса Math (2)
- •Пакет java.lang Методы класса Math (5)
- •Пакет java.math Класс BigInteger (1)
- •Пакет java.lang Методы класса BigInteger (1)
- •Пакет java.lang Методы класса BigInteger (2)
- •Пакет java.lang Методы класса BigInteger (3)
- •Пакет java.lang Методы класса BigInteger (4)

Пакет java.math Класс BigInteger (1)
Вместе с классами-оболочками (и классом java.lang.Math) удобно рассмотреть классы для работы со сколь угодно большими числами из пакета java.math.
Все примитивные целые типы имеют ограниченный диапазон значений. В целочисленной арифметике Java нет переполнения, целые числа приводятся по модулю, равному диапазону значений.
Для того чтобы было можно производить целочисленные вычисления с любой разрядностью, имеется класс java.math.Biginteger. Он расширяет класс Number, следовательно, в нем переопределены методы doubleValue( ), f loatValue( ), intValue( ), iongVaiue( ). Методы byteValue( ) и shortValue( ) не переопределены, а
прямо наследуются от класса Number (а в нем они просто возвращают результат сужающего преобразования значения intValue( ) ).
Экземпляры класса хранят константу (как у класса String), соответственно, действия с объектами класса Biginteger не приводят ни к переполнению, ни к
приведению по модулю. В качестве результата просто возвращается новый экземпляр класса, содержащий полный результат. Значения хранятся в двоичной форме с дополнительным кодом.
Три статических константы – BigInteger.ZERO, BigInteger.ONE и BigInteger.TEN могут
использоваться как нуль, единица и число 10 в любых операциях с объектами класса
Biginteger.
Перед выполнением любой операции числа выравниваются по длине путем распространения знакового разряда в меньшем по размеру числе.

Пакет java.lang Методы класса BigInteger (1)
Большинство методов являются статическими и моделируют целочисленные
операции и функции, возвращая объект класса BigInteger:
static BigInteger abs ( ) возвращает объект, содержащий абсолютное значение числа, хранящегося в данном объекте this
static BigInteger |
add( x ) |
возвращает результат операции this.value + х |
static BigInteger |
and( x ) |
возвращает результат операции this.value & х |
static BigInteger |
andNot( х ) |
возвращает результат операции this.value & (~х) |
static BigInteger |
divide( х ) |
возвращает результат операции this.value / х |
static BigInteger |
divideAndRemainder( х ) |
возвращает массив из двух объектов класса Biginteger, |
|
|
содержащих частное и остаток от деления this.value на х |
static BigInteger
gcd( x )
возвращает наибольший общий делитель абсолютных значений объекта this.value и аргумента х
static BigInteger |
mах( х ) |
наибольшее из значений объекта this.value и аргумента х |
static BigInteger |
min( x ) |
наименьшее из значений объекта this.value и аргумента х |
static BigInteger |
mod( х ) |
остаток от деления объекта this.value на аргумент х |
static BigInteger |
modInverse( х ) |
остаток от деления числа, обратного объекту this.value, на |
|
|
аргумент х |

Пакет java.lang Методы класса BigInteger (2)
Большинство методов класса BigInteger моделируют целочисленные операции и функции, возвращая объект класса BigInteger:
static BigInteger |
modPow( n, m ) |
остаток от деления this.value, возведенного в степень n, на m |
static BigInteger |
multiply( х ) |
возвращает результат операции this.value * х |
static BigInteger |
negate( ) |
перемена знака числа, хранящегося в объекте |
static BigInteger |
not( ) |
возвращает результат операции –this.value |
static BigInteger |
оr( х ) |
возвращает результат операции this.value | х |
static BigInteger |
pow( int n ) |
возвращает результат операции возведения числа, хранящегося |
|
|
в объекте, в целочисленную степень n |
static BigInteger |
remainder( х ) |
возвращает результат операции this.value % х |
static BigInteger |
shiftLeft( int n ) |
возвращает результат операции this.value << n |
static BigInteger |
shiftRight( int n ) |
возвращает результат операции this.value >> n |
static BigInteger |
signum( ) |
–1, если this.value < 0; 0, если this.value == 0; иначе 1 |
static BigInteger |
subtract( х ) |
операция this.value – х |
static BigInteger |
хоr( х ) |
операция this.value ^ х |

Пакет java.lang Методы класса BigInteger (3)
Есть специфические методы:
int |
bitCount( ) |
Возвращает количество бит, не совпадающих со знаковым битом |
int |
bitLength( ) |
Возвращает минимально необходимое количество бит для |
|
|
представления числа (без знакового) |
BigInteger |
clearBit( int n ) |
Возвращает новый экземпляр, в котором указанный бит установлен |
|
|
в 0 |
int |
compareTo( BigIntege |
Сравнение собственного значения с заданным аргументом: |
|
r val ) |
возвращает -1 или 0 или 1 |
BigInteger |
flipBit( int n) |
Возвращает новый экземпляр, в котором указанный бит |
|
|
инвертирован |
int |
getLowestSetBit() |
Возвращает индекс первого младшего бита, равного 1 |
boolean |
isProbablePrime( int c |
Возвращает true, если экземпляр содержит простое (вероятно) |
|
ertainty ) |
число (или аргумент certainty <=0) и false если точно не простое |
BigInteger |
nextProbablePrime( ) |
Возвращает ближайшее большее возможно простое число |

Пакет java.lang Методы класса BigInteger (4)
Еще специфические методы класса BigInteger:
static |
probablePrime( int bit |
Возвращает возможно простое число размером bitLength бит; |
BigInteger |
Length, Random rnd ) |
аргумент rnd используется для случайного выбора |
BigInteger |
setBit( int n ) |
Возвращает новый экземпляр, в котором указанный бит установлен |
|
|
в 1 |
boolean |
testBit( int n ) |
Возвращает true если и только если указанный бит числа равен 1 |
byte[] |
toByteArray( ) |
Преобразует число в массив байт |
static |
valueOf( long val ) |
Возвращает экземпляр BigInteger, содержащий значение, равное |
BigInteger |
|
аргументу |
Класс Biginteger содержит также полный набор обычных методов:
equals(), hashCode(), toString(), intValue(), longValue(), floatValue(), doubleValue().
В пакете java.math есть еще класс BigDecimal, имеющий похожие методы для реализации арифметических операций и ряд специфических методов. Детально этот класс здесь не рассматривается.