com.google.common.primitives
Class UnsignedInteger

java.lang.Object
  extended by java.lang.Number
      extended by com.google.common.primitives.UnsignedInteger
All Implemented Interfaces:
Serializable, Comparable<UnsignedInteger>

@Beta
@GwtCompatible(emulated=true)
public final class UnsignedInteger
extends Number
implements Comparable<UnsignedInteger>

A wrapper class for unsigned int values, supporting arithmetic operations.

In some cases, when speed is more important than code readability, it may be faster simply to treat primitive int values as unsigned, using the methods from UnsignedInts.

See the Guava User Guide article on unsigned primitive utilities.

Since:
11.0
Author:
Louis Wasserman
See Also:
Serialized Form

Field Summary
static UnsignedInteger MAX_VALUE
           
static UnsignedInteger ONE
           
static UnsignedInteger ZERO
           
 
Method Summary
 UnsignedInteger add(UnsignedInteger val)
          Returns the result of adding this and val.
static UnsignedInteger asUnsigned(int value)
          Returns an UnsignedInteger that, when treated as signed, is equal to value.
 BigInteger bigIntegerValue()
          Returns the value of this UnsignedInteger as a BigInteger.
 int compareTo(UnsignedInteger other)
          Compares this unsigned integer to another unsigned integer.
 UnsignedInteger divide(UnsignedInteger val)
          Returns the result of dividing this by val.
 double doubleValue()
          Returns the value of this UnsignedInteger as a float, analogous to a widening primitive conversion from int to double, and correctly rounded.
 boolean equals(Object obj)
           
 float floatValue()
          Returns the value of this UnsignedInteger as a float, analogous to a widening primitive conversion from int to float, and correctly rounded.
 int hashCode()
           
 int intValue()
          Returns the value of this UnsignedInteger as an int.
 long longValue()
          Returns the value of this UnsignedInteger as a long.
 UnsignedInteger multiply(UnsignedInteger val)
          Returns the result of multiplying this and val.
 UnsignedInteger remainder(UnsignedInteger val)
          Returns the remainder of dividing this by val.
 UnsignedInteger subtract(UnsignedInteger val)
          Returns the result of subtracting this and val.
 String toString()
          Returns a string representation of the UnsignedInteger value, in base 10.
 String toString(int radix)
          Returns a string representation of the UnsignedInteger value, in base radix.
static UnsignedInteger valueOf(BigInteger value)
          Returns a UnsignedInteger representing the same value as the specified BigInteger.
static UnsignedInteger valueOf(long value)
          Returns an UnsignedInteger that is equal to value, if possible.
static UnsignedInteger valueOf(String string)
          Returns an UnsignedInteger holding the value of the specified String, parsed as an unsigned int value.
static UnsignedInteger valueOf(String string, int radix)
          Returns an UnsignedInteger holding the value of the specified String, parsed as an unsigned int value in the specified radix.
 
Methods inherited from class java.lang.Number
byteValue, shortValue
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

ZERO

public static final UnsignedInteger ZERO

ONE

public static final UnsignedInteger ONE

MAX_VALUE

public static final UnsignedInteger MAX_VALUE
Method Detail

asUnsigned

public static UnsignedInteger asUnsigned(int value)
Returns an UnsignedInteger that, when treated as signed, is equal to value.


valueOf

public static UnsignedInteger valueOf(long value)
Returns an UnsignedInteger that is equal to value, if possible. The inverse operation of longValue().


valueOf

public static UnsignedInteger valueOf(BigInteger value)
Returns a UnsignedInteger representing the same value as the specified BigInteger. This is the inverse operation of bigIntegerValue().

Throws:
IllegalArgumentException - if value is negative or value >= 2^32

valueOf

public static UnsignedInteger valueOf(String string)
Returns an UnsignedInteger holding the value of the specified String, parsed as an unsigned int value.

Throws:
NumberFormatException - if the string does not contain a parsable unsigned int value

valueOf

public static UnsignedInteger valueOf(String string,
                                      int radix)
Returns an UnsignedInteger holding the value of the specified String, parsed as an unsigned int value in the specified radix.

Throws:
NumberFormatException - if the string does not contain a parsable unsigned int value

add

public UnsignedInteger add(UnsignedInteger val)
Returns the result of adding this and val. If the result would have more than 32 bits, returns the low 32 bits of the result.


subtract

public UnsignedInteger subtract(UnsignedInteger val)
Returns the result of subtracting this and val. If the result would be negative, returns the low 32 bits of the result.


multiply

@GwtIncompatible(value="Does not truncate correctly")
public UnsignedInteger multiply(UnsignedInteger val)
Returns the result of multiplying this and val. If the result would have more than 32 bits, returns the low 32 bits of the result.


divide

public UnsignedInteger divide(UnsignedInteger val)
Returns the result of dividing this by val.


remainder

public UnsignedInteger remainder(UnsignedInteger val)
Returns the remainder of dividing this by val.


intValue

public int intValue()
Returns the value of this UnsignedInteger as an int. This is an inverse operation to asUnsigned(int).

Note that if this UnsignedInteger holds a value >= 2^31, the returned value will be equal to this - 2^32.

Specified by:
intValue in class Number

longValue

public long longValue()
Returns the value of this UnsignedInteger as a long.

Specified by:
longValue in class Number

floatValue

public float floatValue()
Returns the value of this UnsignedInteger as a float, analogous to a widening primitive conversion from int to float, and correctly rounded.

Specified by:
floatValue in class Number

doubleValue

public double doubleValue()
Returns the value of this UnsignedInteger as a float, analogous to a widening primitive conversion from int to double, and correctly rounded.

Specified by:
doubleValue in class Number

bigIntegerValue

public BigInteger bigIntegerValue()
Returns the value of this UnsignedInteger as a BigInteger.


compareTo

public int compareTo(UnsignedInteger other)
Compares this unsigned integer to another unsigned integer. Returns 0 if they are equal, a negative number if this < other, and a positive number if this > other.

Specified by:
compareTo in interface Comparable<UnsignedInteger>

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(@Nullable
                      Object obj)
Overrides:
equals in class Object

toString

public String toString()
Returns a string representation of the UnsignedInteger value, in base 10.

Overrides:
toString in class Object

toString

public String toString(int radix)
Returns a string representation of the UnsignedInteger value, in base radix. If radix < Character.MIN_RADIX or radix > Character.MAX_RADIX, the radix 10 is used.



Copyright © 2010-2012. All Rights Reserved.