Overview

FL Convert is a bit-pattern converter with two tabs: IEEE-754 and Fixed Point.

The IEEE-754 tab encodes and decodes a value across three representations of the same 32-bit pattern, using the IEEE-754 single-precision binary floating-point format:

All three representations describe the same 32 bits — only the interpretation differs.

When the Base-10 result is negative (i.e. the bit pattern's signed value falls in the range -2,147,483,648 to -1), a fourth read-only row — Base 10 (unsigned) — appears automatically, showing the same bit pattern interpreted as an unsigned 32-bit integer. This is useful when you care about both signed and unsigned interpretations of the same pattern. A copy button is always visible on this row; it is never selectable as an input mode.

The Fixed Point tab converts between a decimal value and its raw fixed-point bit pattern using a configurable Q-format. See Fixed Point conversion below.

Both conversions are also available as Shortcuts actions and Siri commands.

IEEE-754: How to use

  1. Pick a source mode using the segmented control at the top: Float, Base 10, or Base 16.
  2. Enter a value in that mode's field.
  3. The other two representations update with the equivalent value.

The mode you select and the value you entered are both remembered per mode, so the app reopens in the mode you used last with that mode's value already filled in.

If what you've typed can't be parsed as a valid value for the active mode (e.g. a malformed number, an out-of-range integer, or non-hex characters), the field gets a red border and an error message, and the other two representations are cleared until you correct it. Editing the field clears the error state so you can try again.

IEEE-754: Input formats

Float
A decimal number such as 1.0, -3.14, or 6.022e23. Values outside the range of single-precision are clamped or rounded according to IEEE-754 rules.
Base 10
A decimal integer in the range -2,147,483,648 to 4,294,967,295. Values in the signed range (-2,147,483,648 to 2,147,483,647) are used directly. Values in the unsigned-only range (2,147,483,648 to 4,294,967,295) are automatically reinterpreted as the equivalent signed two's-complement value before conversion, so you can enter a value like 2,147,483,648 and still get the correct bit pattern.
Base 16
Up to 8 hexadecimal digits, with or without the 0x prefix — e.g. 0x3F800000 or 3F800000. The value represents the raw 32-bit pattern.

Fixed Point conversion

The Fixed Point tab converts between a decimal value and its raw bit pattern (in hex) using a configurable Q-formatQm.n for signed values, or UQm.n for unsigned.

At the top, a Signed toggle chooses between two's-complement and unsigned interpretation, and two steppers set the integer bits (m) and fractional bits (n). The total width (sign bit + m + n) is capped at 64 bits; if a change would exceed that, fractional bits are reduced automatically so range is preserved over precision. A summary line shows the resulting format (e.g. Q7.8 · 16 bits total) along with its representable range and precision (the smallest representable step).

Below that, an Input source picker lets you choose whether you're entering a Float (decimal) value or a Hex bit pattern. Switching clears the field and updates the placeholder to match the active format. Enter a value and submit to see the converted result — hex if you entered a float, or a decimal float if you entered hex.

If a value can't be represented, the field border and a note below it call out the problem: a red border and message appear for values that are out of range for the current format (e.g. a negative value while Signed is off), and a yellow border and caution note appear when a value is in range but will be clamped or rounded to fit the chosen precision.

Your format settings (signed flag, integer/fractional bit widths, input source) and last conversion are remembered across launches.

Exporting and copying results

Tap the share button in the bottom toolbar to export the current conversion as JSON, which can be sent to any app that accepts shared text — Mail, Messages, Files, Notes, and so on. On the IEEE-754 tab, the export contains all three representations (float, base-10, and base-16) for the bit pattern currently displayed; when the base-10 result is negative, a base10_unsigned field is also included with the unsigned interpretation. On the Fixed Point tab, the export contains the input/result pair along with the active format, signed flag, bit widths, range, and precision. Either way, the share button is enabled only after a real conversion has been performed.

To copy a single value instead of the whole conversion, tap the small copy icon next to it — it briefly turns into a checkmark to confirm the value has been placed on the clipboard, ready to paste elsewhere. This appears next to read-only result values (the Fixed Point result, the non-active rows on the IEEE-754 tab, and the Base 10 (unsigned) row), since those fields don't support the usual text-selection copy gesture.

Shortcuts & Siri

FL Convert exposes two actions to the Shortcuts app and Siri: Convert IEEE 754 Value and Convert Fixed-Point Value. You can use them standalone, chain them into multi-step shortcuts, or invoke them by voice.

Convert IEEE 754 Value

Converts a single value between the three IEEE 754 single-precision representations. Parameters:

Source Type
How to interpret the input: Float (e.g. 1.5), Base 10 (e.g. 1065353216), or Base 16 (e.g. 0x3F800000).
Value
The value to convert, as text matching the chosen source type.

The action returns a JSON string with three fields — float, base10, and base16. When the base-10 result is negative, a fourth field base10_unsigned is also present with the unsigned 32-bit interpretation. Downstream Shortcuts actions can extract whichever field you need.

Example Siri interactions:

Convert Fixed-Point Value

Converts a value to or from a Qm.n fixed-point representation. Parameters:

Source Type
Float encodes a decimal value to a hex bit-pattern; Hex decodes a bit-pattern back to a decimal float.
Value
The value to convert, matching the chosen source type.
Signedness
Signed (two's complement) or Unsigned. Defaults to Signed.
Integer Bits (m)
Number of integer bits in the Q-format. Defaults to 7.
Fractional Bits (n)
Number of fractional bits in the Q-format. Defaults to 8.

The action returns a JSON string with source, format (e.g. Q7.8 signed), and either encoded or decoded depending on the conversion direction.

Example Siri interactions:

Tips