# hex

Hexadecimal representation of stored integer of `fi` object

## Syntax

``b = hex(a)``

## Description

example

````b = hex(a)` returns the stored integer of `fi` object `a` in hexadecimal format as a character vector.Fixed-point numbers can be represented as$real\text{-}worldvalue={2}^{-fractionlength}×storedinteger$or, equivalently as$real\text{-}worldvalue=\left(slope×storedinteger\right)+bias$The stored integer is the raw binary number, in which the binary point is assumed to be at the far right of the word.```

## Examples

collapse all

Create a signed `fi` object with values `-1` and `1`, a word length of 8 bits, and a fraction length of 7 bits.

`a = fi([-1 1], 1, 8, 7)`
```a=1×2 object -1.0000 0.9922 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 7 ```

Find the hexadecimal representation of the stored integers of `fi` object `a`.

`b = hex(a)`
```b = '80 7f' ```

This example shows how to write hexadecimal data from the MATLAB workspace into a text file.

Define your data and create a writable text file called `hexdata.txt`.

```x = (0:15)'/16; a = fi(x, 0, 16, 16); h = fopen('hexdata.txt', 'w');```

Use the `fprintf` function to write your data to the `hexdata.txt` file.

```for k = 1:length(a) fprintf(h, '%s\n', hex(a(k))); end fclose(h);```

To see the contents of the file you created, use the `type` function.

`type hexdata.txt`
```0000 1000 2000 3000 4000 5000 6000 7000 8000 9000 a000 b000 c000 d000 e000 f000 ```

This example shows how to read hexadecimal data from a text file back into the MATLAB workspace.

Define your data, create a writable text file called `hexdata.txt`, and write your data to the `hexdata.txt` file.

```x = (0:15)'/16; a = fi(x, 0, 16, 16); h = fopen('hexdata.txt', 'w'); for k = 1:length(a) fprintf(h, '%s\n', hex(a(k))); end fclose(h);```

Open `hexdata.txt` for reading and read its contents into a workspace variable

```h = fopen('hexdata.txt', 'r'); nextline = ''; str = ''; while ischar(nextline) nextline = fgetl(h); if ischar(nextline) str = [str; nextline]; end end fclose(h);```

Create a `fi` object with the correct scaling and assign it the hex values stored in the `str` variable.

```b = fi([], 0, 16, 16); b.hex = str```
```b=16×1 object 0 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 DataTypeMode: Fixed-point: binary point scaling Signedness: Unsigned WordLength: 16 FractionLength: 16 ```

## Input Arguments

collapse all

Stored integer, specified as a `fi` object.

Data Types: `fi` 