The author explains the process of converting UNORM and SNORM formats to floating-point numbers, with a focus on UNORM8, SNORM8, UNORM16, and SNORM16. By breaking down the process into manageable steps, such as bit shifts and adds, the conversions are simplified. Special values and cases are addressed, and rounding to the target precision is discussed. The author provides detailed examples for UNORM16 and briefly touches on SNORM8 and SNORM16. The process involves normalization, determining the exponent, and calculating the significand, with considerations for rounding modes. The author emphasizes the simplicity and cost-effectiveness of the conversion process, making it an interesting and useful explanation for those familiar with the topic.
https://fgiesen.wordpress.com/2024/12/24/unorm-and-snorm-to-float-hardware-edition/