## com.google.common.primitives
Class UnsignedInteger

    java.lang.Object
      java.lang.Number
          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.