如何在 C++ 中将 uint16_t 转换为浮点数

How to cast uint16_t into a float in C++

我是 运行 MacOS High Sierra 上的 C++14。

我有一个从方法返回的 uint16_t,值的范围从 100 到大约 8000 奇数。

我想将其转换为 float。所以,如果它是 289,那么 float 应该是 289.0。我正在尝试所有不同的方法来转换 uint16_t 但我的 float 变量总是为零。

uint16_t i_value = 289;

试过这个:

浮动 f_value = static_cast(i_value);

并尝试了这个:

浮动 f_value =(浮动)i_value;

但没有任何效果。

问题:
如何将 uint16_t 转换为 float

这是一个 implicit conversion(双向),不需要转换:

uint16_t i_value = 289;
float f = i_value;