Fork me on GitHub

随笔 - 997  文章 - 5  评论 - 181  阅读 - 300万 

一 前记

 

  最近涉及到把各种传感器的数据通过wifi和bt传输出去,这就涉及到了浮点传输的问题,为了方便传输,笔者的做法一般是把小数和整数部分分开,分别传输,这就比较简单明晰了。

 

二 方法论

   其实,把浮点拆解成两个部分,有好多方法的,这里我就把两三种常用的做一个总结,方便后续的朋友和自己来使用吧。

  A 减法:

复制代码
#include <stdio.h>

int main()
{
    
    double test = -12.1234;

    int a_int = (int)test;

    int b_int = (test - a_int)*10000;

    printf("a_int:%d b_int:%d ",a_int,b_int);


    return 0;
}
复制代码

   

B 函数法:

 

#include <stdio.h>
#include <math.h>
int main() {
    double x=3.1415, intpart;  //为变量赋初值
    double fractpart = modf(x, &intpart);  //求3.1415的小数部分
    printf("intpart: %lf\nfractpart: %lf\n", intpart, fractpart);
    return 0;
}

 

三 总结

   

这种实现方法还有很多,这里只列出最简单两种吧,笔者认为,大道至简,无论什么产品和解决方法,都是越简单越显示水平啊。最后送一句话:

普天之下莫非王土,率土之滨,莫非王臣。把属于自己位置的事情做好就行了。

 

posted on   虚生  阅读(13665)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示