对于c中的浮点,是否有一个固定大小为两个字节的类型?

who*_*AmI 2 c floating-point type-conversion fixed-size-types

我需要像uint16_t这样的东西,但是对于浮点数而不是整数.我需要能够将一个浮点数转换为它,这样我就可以将它转移并转换回浮点数(显然我会失去一些精度).是否有一个简单的解决方案或我应该手动执行?

Jer*_*en3 6

C标准中没有这样的东西.有些编译器确实有__fp16.

您可以使用Q编号,但这些编号仅限于固定范围.

如果你真的需要浮点数,用指数,那么你应该实现ieee标准的半精度.

常规的艺术工作在Q数上.您应该为半精度编写自己的算术.除非您的编译器支持它.

或者去开源.

  • @MichaelWalz不,这很好.第一句话就是答案; 其余的是一些建议的替代方案. (3认同)