Main Content

## Negative Fraction Length

A negative fraction length occurs when the input value of a `fi` object contains trailing zeros before the decimal point. For example,

`x = fi(16000,1,8)`

produces a signed fixed-point number with a word length of 8 bits and best precision fraction length.

```x = 16000 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: -7```

View the binary representation of `x`.

```disp(bin(x)) ```
`01111101`

There are seven implicit zeros at the end of this number before the binary point because the fraction length of `x` is `-7`.

Convert from binary to decimal the binary representation of `x` with seven zero bits appended to the end.

`bin2dec('011111010000000')`
```ans = 16000```

The result is the real world value of `x`.

You can also find the real world value using the equation .

Start by finding the stored integer of `x`.

`Q = storedInteger(x)`
```Q = 125```

Use the stored integer to find the real world value of `x`.

`real_world_value = double(Q) * 2^-x.FractionLength`
```real_world_value = 16000```

## Support Get trial now