Package org.eclipse.cdt.utils

## Class Addr32

- java.lang.Object
- - org.eclipse.cdt.utils.Addr32

All Implemented Interfaces:
  `Serializable`, `Comparable<Object>`, `IAddress`

    public class Addr32
    extends Object
    implements IAddress, Serializable

See Also:
  Serialized Form

### Field Summary

Fields
`static Addr32` `MAX`
`static BigInteger` `MAX_OFFSET`
`static Addr32` `ZERO`

### Constructor Summary

Constructors
`Addr32​(byte[] addrBytes)`
`Addr32​(long rawaddress)`
`Addr32​(long rawaddress, boolean truncate)`
`Addr32​(String addr)`
`Addr32​(String addr, boolean truncate)`
`Addr32​(String addr, int radix)`
`Addr32​(String addr, int radix, boolean truncate)`

### Method Summary

All Methods Instance Methods Concrete Methods
`IAddress` `add​(long offset)` Adds offset to address and returns new address object which is the result Note: This method has an offset limit of Long.MAX and Long.MIN, which under some addressing schemes may impose an unnecessary limitation, see `IAddress.add(BigInteger offset)` to handle larger offsets.
`IAddress` `add​(BigInteger offset)` Adds offset to address and returns new address object which is the result
`int` `compareTo​(Object other)`
`BigInteger` `distanceTo​(IAddress other)` Returns distance to address.
`boolean` `equals​(Object x)` Returns whether this address equals the given object.
`int` `getCharsNum()` Returns amount of symbols in hex representation.
`BigInteger` `getMaxOffset()` Returns maximal offset possible for address.
`int` `getSize()` Returns the address size in bytes.
`BigInteger` `getValue()` Returns the value of the address.
`int` `hashCode()`
`boolean` `isMax()` Return true if address is maximal, i.e.
`boolean` `isZero()` Return true if address is zero, i.e.
`String` `toBinaryAddressString()` Converts address to the binary representation with '0b' prefix and with all leading zeros.
`String` `toHexAddressString()` Converts address to the hex representation with '0x' prefix and with all leading zeros.
`String` `toOctalAddressString()`
`String` `toString()` Identical to toString(10)
`String` `toString​(int radix)` Converts address to string as an unsigned number with given radix

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### ZERO

    public static final Addr32 ZERO

#### MAX

    public static final Addr32 MAX

#### MAX_OFFSET

    public static final BigInteger MAX_OFFSET

### Constructor Detail

#### Addr32

    public Addr32​(byte[] addrBytes)

#### Addr32

    public Addr32​(long rawaddress)

#### Addr32

    public Addr32​(long rawaddress,
                  boolean truncate)

#### Addr32

    public Addr32​(String addr)

#### Addr32

    public Addr32​(String addr,
                  boolean truncate)

#### Addr32

    public Addr32​(String addr,
                  int radix)

#### Addr32

    public Addr32​(String addr,
                  int radix,
                  boolean truncate)

### Method Detail

#### add

    public IAddress add​(BigInteger offset)

Description copied from interface: `IAddress`
Adds offset to address and returns new address object which is the result

Specified by:
  `add` in interface `IAddress`
Parameters:
  `offset` - to add
Returns:
  the new address

#### add

    public IAddress add​(long offset)

Description copied from interface: `IAddress`
Adds offset to address and returns new address object which is the result
Note: This method has an offset limit of Long.MAX and Long.MIN, which under some addressing schemes may impose an unnecessary limitation, see `IAddress.add(BigInteger offset)` to handle larger offsets.

Specified by:
  `add` in interface `IAddress`
Parameters:
  `offset` - to add
Returns:
  the new address

#### getMaxOffset

    public BigInteger getMaxOffset()

Description copied from interface: `IAddress`
Returns maximal offset possible for address. The offset should be identical for all addresses of given class.

Specified by:
  `getMaxOffset` in interface `IAddress`
Returns:
  the max offset for this address class

#### getValue

    public BigInteger getValue()

Description copied from interface: `IAddress`
Returns the value of the address.

Specified by:
  `getValue` in interface `IAddress`

#### distanceTo

    public BigInteger distanceTo​(IAddress other)

Description copied from interface: `IAddress`
Returns distance to address. Distance may be positive or negative

Specified by:
  `distanceTo` in interface `IAddress`
Parameters:
  `other` - address which distance is calculated to.
Returns:
  distance to address

#### compareTo

    public int compareTo​(Object other)

Specified by:
  `compareTo` in interface `Comparable<Object>`

#### isMax

    public boolean isMax()

Description copied from interface: `IAddress`
Return true if address is maximal, i.e. maximal possible

Specified by:
  `isMax` in interface `IAddress`
Returns:
  true if address is maximal

#### isZero

    public boolean isZero()

Description copied from interface: `IAddress`
Return true if address is zero, i.e. minimal possible

Specified by:
  `isZero` in interface `IAddress`
Returns:
  true is address is zero

#### toString

    public String toString()

Description copied from interface: `IAddress`
Identical to toString(10)

Specified by:
  `toString` in interface `IAddress`
Overrides:
  `toString` in class `Object`
Returns:
  a string representation of address using a radix of 10

#### toString

    public String toString​(int radix)

Description copied from interface: `IAddress`
Converts address to string as an unsigned number with given radix

Specified by:
  `toString` in interface `IAddress`
Parameters:
  `radix` - to use for string conversion
Returns:
  a string representation of address

#### equals

    public boolean equals​(Object x)

Description copied from interface: `IAddress`
Returns whether this address equals the given object.

Specified by:
  `equals` in interface `IAddress`
Overrides:
  `equals` in class `Object`
Parameters:
  `x` - the other object
Returns:
  `true` if the addresses are equivalent, and `false` if they are not

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### toHexAddressString

    public String toHexAddressString()

Description copied from interface: `IAddress`
Converts address to the hex representation with '0x' prefix and with all leading zeros. The length of returned string should be the same for all addresses of given class. I.e. 10 for 32-bit addresses and 18 for 64-bit addresses

Specified by:
  `toHexAddressString` in interface `IAddress`

#### toOctalAddressString

    public String toOctalAddressString()

Since:
  5.4

#### toBinaryAddressString

    public String toBinaryAddressString()

Description copied from interface: `IAddress`
Converts address to the binary representation with '0b' prefix and with all leading zeros. The length of returned string should be the same for all addresses of given class. I.e. 34 for 32-bit addresses and 66 for 64-bit addresses

Specified by:
  `toBinaryAddressString` in interface `IAddress`

#### getCharsNum

    public int getCharsNum()

Description copied from interface: `IAddress`
Returns amount of symbols in hex representation. Is identical to toHexAddressString().length(). It is present for performance purpose.

Specified by:
  `getCharsNum` in interface `IAddress`
Returns:
  the number of character symbols to represent this address in hex.

#### getSize

    public int getSize()

Description copied from interface: `IAddress`
Returns the address size in bytes.

Specified by:
  `getSize` in interface `IAddress`
Returns:
  the number of bytes required to hold this address.