如何将uint8_t和uint16_t转换为c ++中的浮点数?

Ene*_*eko 3 c++ floating-point uint16 uint8t

我创建了uint8_t和uint16_t变量类型,并从一些寄存器中读取值.但是,我不确定我是否可以轻松地将它们转换为浮点数,如果转换具有数字意义.

将uint8_t和uint16_t转换为float的最佳方法是什么?

Mik*_*our 9

没有必要演员; 整数类型可以隐式转换为浮点类型.

uint8_t u8 = something;
uint16_t u16 = whatever;

float f1 = u8;
float f2 = u16;
Run Code Online (Sandbox Code Playgroud)

应准确表示8位和16位整数值.较大的类型可能会失去一些精度.

  • +1:请注意,任何小于2 ^ 23的正整数都可以在"float"中表示. (5认同)