Package com.iplanet.security.util
Class BigInt
- java.lang.Object
-
- com.iplanet.security.util.BigInt
-
public final class BigInt extends Object
A low-overhead arbitrary-precision unsigned integer. This is intended for use with ASN.1 parsing, and printing of such parsed values. Convert to "BigInteger" if you need to do arbitrary precision arithmetic, rather than just represent the number as a wrapped array of bytes.NOTE: This class may eventually disappear, to be supplanted by big-endian byte arrays which hold both signed and unsigned arbitrary-precision integers.
-
-
Constructor Summary
Constructors Constructor Description BigInt(byte[] data)Constructs a "Big" integer from a set of (big-endian) bytes.BigInt(int i)Constructs a "Big" integer from a normal Java integer.BigInt(BigInteger i)Constructs a "Big" integer from a "BigInteger", which must be positive (or zero) in value.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intbyteLength()Returns the length of the data as a byte array.booleanequals(BigInt other)Returns true iff the parameter is numerically equivalent.booleanequals(Object other)Returns true iff the parameter is a numerically equivalent BigInt.BigIntegertoBigInteger()Returns a BigInteger value which supports many arithmetic operations.byte[]toByteArray()Returns the data as a byte array.inttoInt()Converts the "big" integer to a java primitive integer.StringtoString()Returns a hexadecimal printed representation.
-
-
-
Constructor Detail
-
BigInt
public BigInt(byte[] data)
Constructs a "Big" integer from a set of (big-endian) bytes. Leading zeroes should be stripped off.- Parameters:
data- a sequence of bytes, most significant bytes/digits first. CONSUMED.
-
BigInt
public BigInt(BigInteger i)
Constructs a "Big" integer from a "BigInteger", which must be positive (or zero) in value.
-
BigInt
public BigInt(int i)
Constructs a "Big" integer from a normal Java integer.- Parameters:
i- the java primitive integer
-
-
Method Detail
-
toInt
public int toInt()
Converts the "big" integer to a java primitive integer.- Throws:
NumberFormatException- if 32 bits is insufficient.
-
toString
public String toString()
Returns a hexadecimal printed representation. The value is formatted to fit on lines of at least 75 characters, with embedded newlines. Words are separated for readability, with eight words (32 bytes) per line.
-
toBigInteger
public BigInteger toBigInteger()
Returns a BigInteger value which supports many arithmetic operations. Assumes negative values will never occur.
-
byteLength
public int byteLength()
Returns the length of the data as a byte array.
-
toByteArray
public byte[] toByteArray()
Returns the data as a byte array. The most significant bit of the array is bit zero (as injava.math.BigInteger).
-
equals
public boolean equals(Object other)
Returns true iff the parameter is a numerically equivalent BigInt.
-
equals
public boolean equals(BigInt other)
Returns true iff the parameter is numerically equivalent.- Parameters:
other- the BigInt being compared with this one.
-
-