今天出了一个错误,在代码中把int型的数据强制转换位float类型,导致数值精度丢失,具体就是多了1,这与计算机的运行原理有关。float类型是符号加数值,int型只有数值。大部分的情况,int可以成功转为float,但是,存在一些情况,转换后数值多了1。
就是这么一个简单的错误,导致所有得到的数据几乎是不能用的,于是只能重新跑一遍数据。
如果要做int转换,建议将其转变位double,这样就不会造成任何的数据失真。

2016.4.8—原始套接字多线程服务器

别问我为什么要用原始套接字做服务器。说多了都是眼泪。8G内存的机器,最大CPU利用率可以到42左右。最高发包速度可以到200M+。 原始套接字并...

阅读全文

2016.4.8—读取文件内容到内存

好久没有更新博客。也是懒得不行了。今天贴一个代码,C语言的,可以将文件读取到内存。将文件读取到内存有好处。当文件比较大时。200M以上就算大文件了。频繁...

阅读全文

2015.6.15—卡尔曼滤波算法

卡尔曼滤波(Kalman filtering)一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干...

阅读全文

22 条评论

欢迎留言