我正在尝试将 float 转换为 C 中的按位 int。这是我的代码片段:
write_eeprom(INDEX_CONFIG_TEMPERATURE_OFFSET_HIGH_INT, (unsigned int) (temperature_offset>>16));
write_eeprom(INDEX_CONFIG_TEMPERATURE_OFFSET_LOW_INT, (unsigned int) (temperature_offset));
我收到以下错误:
error: invalid operands to binary >> (have 'float' and 'int'),
在尝试编译时。在这里,temperature_offset 是一个浮点类型,我试图将它转换为高整数和低整数,因为我试图将数据以 16 位块的形式保存在 EEPROM 中(因为我使用的是 16 位微控制器)。我知道“>>”不适用于浮点类型。我该如何解决这个问题?