float vs unorm 0-> 1,哪一个更精确?

jam*_*o00 2 c++ floating-point directx

  • Float - 标准32位IEEE浮点数
  • unorm - 32位(范围0-> 1)

当用于表示0-> 1范围内的数据时哪一个更精确?或者没有精确度差异?

Ste*_*non 6

float也表示[0,1]范围之外的值(只有大约1/4的浮点数位于该范围内).因此在该间隔中有~2 ^ 30个浮点数,但是2 ^ 32个浮点数.

浮子提供接近零的更高精度,但在整个范围内平均,暴力更精确.(浮点数在该范围内的分辨率在2 ^ -149到2 ^ -24之间变化;浮标具有2 ^ -32的恒定间距).