Package org.eclipse.cdt.utils
Class Addr64
- java.lang.Object
-
- org.eclipse.cdt.utils.Addr64
-
- All Implemented Interfaces:
Serializable
,Comparable<Object>
,IAddress
public class Addr64 extends Object implements IAddress, Serializable
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static Addr64
MAX
static BigInteger
MAX_OFFSET
static Addr64
ZERO
-
Constructor Summary
Constructors Constructor Description Addr64(byte[] addrBytes)
Addr64(long addr)
Create an address represented by long bits.Addr64(String addr)
Addr64(String addr, boolean truncate)
Addr64(String addr, int radix)
Addr64(String addr, int radix, boolean truncate)
Addr64(BigInteger rawaddress)
Addr64(BigInteger rawaddress, boolean truncate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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, seeIAddress.add(BigInteger offset)
to handle larger offsets.IAddress
add(BigInteger offset)
Adds offset to address and returns new address object which is the resultint
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
-
-
-
Field Detail
-
ZERO
public static final Addr64 ZERO
-
MAX
public static final Addr64 MAX
-
MAX_OFFSET
public static final BigInteger MAX_OFFSET
-
-
Constructor Detail
-
Addr64
public Addr64(byte[] addrBytes)
-
Addr64
public Addr64(BigInteger rawaddress)
-
Addr64
public Addr64(BigInteger rawaddress, boolean truncate)
-
Addr64
public Addr64(String addr)
-
Addr64
public Addr64(long addr)
Create an address represented by long bits. Signed bit will be used as unsigned extension, if you don't want it mask it before passing here.- Since:
- 5.9
-
Addr64
public Addr64(String addr, boolean truncate)
-
Addr64
public Addr64(String addr, int radix)
-
Addr64
public Addr64(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
-
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, seeIAddress.add(BigInteger offset)
to handle larger offsets.
-
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 interfaceIAddress
- Returns:
- the max offset for this address class
-
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 interfaceIAddress
- Parameters:
other
- address which distance is calculated to.- Returns:
- distance to address
-
isMax
public boolean isMax()
Description copied from interface:IAddress
Return true if address is maximal, i.e. maximal possible
-
isZero
public boolean isZero()
Description copied from interface:IAddress
Return true if address is zero, i.e. minimal possible
-
getValue
public BigInteger getValue()
Description copied from interface:IAddress
Returns the value of the address.
-
compareTo
public int compareTo(Object other)
- Specified by:
compareTo
in interfaceComparable<Object>
-
equals
public boolean equals(Object x)
Description copied from interface:IAddress
Returns whether this address equals the given object.
-
toString
public String toString()
Description copied from interface:IAddress
Identical to toString(10)
-
toString
public String toString(int radix)
Description copied from interface:IAddress
Converts address to string as an unsigned number with given radix
-
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 interfaceIAddress
-
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 interfaceIAddress
-
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 interfaceIAddress
- Returns:
- the number of character symbols to represent this address in hex.
-
-