Class BigInt
java.lang.Object
org.mozilla.jss.netscape.security.util.BigInt
- All Implemented Interfaces:
Serializable
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.
- Version:
- 1.23
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
private byte[]
private static final long
-
Constructor Summary
ConstructorsConstructorDescriptionBigInt
(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
Modifier and TypeMethodDescriptionint
Returns the length of the data as a byte array.boolean
Returns true iff the parameter is a numerically equivalent BigInt.boolean
Returns true iff the parameter is numerically equivalent.int
hashCode()
private String
hexify()
Returns a BigInteger value which supports many arithmetic operations.byte[]
Returns the data as a byte array.int
toInt()
Converts the "big" integer to a java primitive integer.toString()
Returns a hexadecimal printed representation.
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
places
private byte[] places -
digits
- See Also:
-
-
Constructor Details
-
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
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 Details
-
toInt
public int toInt()Converts the "big" integer to a java primitive integer.- Throws:
NumberFormatException
- if 32 bits is insufficient.
-
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
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
). -
hexify
-
equals
Returns true iff the parameter is a numerically equivalent BigInt. -
hashCode
public int hashCode() -
equals
Returns true iff the parameter is numerically equivalent.- Parameters:
other
- the BigInt being compared with this one.
-