FloatToHalf(float)
Encode a floating point value into a 16-bit representation.
Read time 1 minuteLast updated 6 hours ago
Definition
- Type: Method
- Namespace: UnityEngine
- Assembly: UnityEngine.CoreModule
public static ushort FloatToHalf(float val)
Parameters
The floating point value to convert.
Returns
Type | Description |
|---|---|
| ushort | The converted half-precision float, stored in a 16-bit unsigned integer. |
Remarks
Converting a floating point value to a half causes it to lose precision and also reduces the maximum range of values it can represent. The new range is from -65,504 and 65,504. For more information on 16-bit floating-point numbers, and for information on how precision changes over the range of values, see Half-precision floating-point format.
If the converted floating point value falls exactly between two half-precision values, this method rounds it to the value furthest from zero (Round away from zero tie-break rule). This selects the value closer to positive or negative infinity, depending on the sign.
You should only use the returned ushort as a storage format. If you want to perform mathematical operations on it, first convert it back to a float with Mathf.HalfToFloat.