C语言 操作浮点数进行无符号输入和返回

4xrmg8kj  于 2023-03-12  发布在  其他
关注(0)|答案(1)|浏览(165)

我目前正在使用C语言和一个微控制器工作,为了通过蓝牙传输阅读,我必须将其作为uint8发送。读数目前是浮点数的形式。我一直在尝试思考如何做到这一点,然后能够在接收端将其转换回浮点数,但没有想法。我受到限制,因为我不能“T不能使用定制结构或任何结构,因为它必须在UINT8中进行发送。
有什么建议吗?
我已经尝试了一些事情,但没有得到很远,所以我没有太多的显示它

cqoc49vn

cqoc49vn1#

C语言中的任何类型都可以用字符指针遍历,在所有合理的编译器上,uint8_t都是字符类型。

const uint8_t* ptr = (const uint8_t*)&some_var;
for(size_t i=0; i<sizeof(some_var); i++)
{
  send_byte(ptr[i]);
}

但是请记住,您的CPU字节顺序可能与网络字节顺序不匹配,在这种情况下,您需要在发送之前交换字节顺序。

相关问题