# Class: com.pnfsoftware.jeb.util.format.NumberFormatter

A number formatter, supporting formatting of immediates of variable sizes using different bases and other properties \(e.g., signedness\). 

 Notes: 
 
- maximum size: 64\-bit 
- signedness: applicable to octal/decimal/hexadecimal bases only; N/A for binary or ASCII formatting

## Constructor: NumberFormatter

Description: Create a formatter using unsigned hexadecimal numbers with an `h` suffix.

## Constructor: NumberFormatter
- parameter: `defaultNumberFormatter`, type: `com.pnfsoftware.jeb.util.format.NumberFormatter`

Description: Create a formatter by copying another formatter's settings.
parameter: defaultNumberFormatter: formatter whose settings should be copied

## Method: format
- parameter: `bitsize`, type: `int`
- parameter: `rawValue`, type: `long`
- return type: `java.lang.String`

Description: Format a number using the formatter's current settings.
parameter: bitsize: value size in bits; 8, 16, and 32 are masked to that width, other values are            treated as 64
parameter: rawValue: raw integer value
return: the formatted number

## Method: format
- parameter: `bitsize`, type: `int`
- parameter: `rawValue`, type: `long`
- parameter: `base`, type: `com.pnfsoftware.jeb.util.format.NumberFormatter.Base`
- parameter: `treatAsSignedNumber`, type: `boolean`
- return type: `java.lang.String`

Description: Format a number using explicit settings.
parameter: bitsize: value size in bits; 8, 16, and 32 are masked to that width, other values are            treated as 64
parameter: rawValue: raw integer value
parameter: base: rendering base, or null to use the formatter's current base
parameter: treatAsSignedNumber: true to render supported bases as signed numbers
return: the formatted number

## Method: getBase
- return type: `com.pnfsoftware.jeb.util.format.NumberFormatter.Base`

Description: Get the current rendering base.
return: the rendering base

## Method: getNotationType
- return type: `com.pnfsoftware.jeb.util.format.NumberFormatter.NotationType`

Description: Get the notation style used for hexadecimal numbers.
return: the notation style

## Method: isSignedNumber
- return type: `boolean`

Description: Determine whether standard bases render values as signed numbers.
return: true if signed\-number rendering is enabled

## Method: rotateBase
- return type: `com.pnfsoftware.jeb.util.format.NumberFormatter.Base`

Description: Rotate the rendering base to the next built\-in base.
return: the new rendering base

## Method: setBase
- parameter: `base`, type: `com.pnfsoftware.jeb.util.format.NumberFormatter.Base`

Description: Set the rendering base.
parameter: base: non\-null rendering base

## Method: setNotationType
- parameter: `notationType`, type: `com.pnfsoftware.jeb.util.format.NumberFormatter.NotationType`

Description: Set the notation style used for hexadecimal numbers.
parameter: notationType: non\-null notation style

## Method: setSignedNumber
- parameter: `signedNumber`, type: `boolean`

Description: Set whether standard bases should render values as signed numbers.
parameter: signedNumber: true to treat values as signed when supported by the base

