com.ibm.security12.sun.security.util
Class BigInt

java.lang.Object
  |
  +--com.ibm.security12.sun.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.

Version:
1.24
Author:
David Brownell

Constructor Summary
BigInt(java.math.BigInteger i)
          Constructs a "Big" integer from a "BigInteger", which must be positive (or zero) in value.
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.
 
Method Summary
 boolean equals(BigInt other)
          Returns true iff the parameter is numerically equivalent.
 boolean equals(Object other)
          Returns true iff the parameter is a numerically equivalent BigInt.
 java.math.BigInteger toBigInteger()
          Returns a BigInteger value which supports many arithmetic operations.
 byte[] toByteArray()
          Returns the data as a byte array.
 int toInt()
          Converts the "big" integer to a java primitive integer.
 String toString()
          Returns a hexadecimal printed representation.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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(java.math.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.

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.
Overrides:
toString in class Object

toBigInteger

public java.math.BigInteger toBigInteger()
Returns a BigInteger value which supports many arithmetic operations. Assumes negative values will never occur.

toByteArray

public byte[] toByteArray()
Returns the data as a byte array. The most significant bit of the array is bit zero (as in java.math.BigInteger).

equals

public boolean equals(Object other)
Returns true iff the parameter is a numerically equivalent BigInt.
Parameters:
other - the object being compared with this one.
Overrides:
equals in class Object

equals

public boolean equals(BigInt other)
Returns true iff the parameter is numerically equivalent.
Parameters:
other - the BigInt being compared with this one.