主题 : 如何解决C的浮点数运算问题 复制链接 | 浏览器收藏 | 打印
生命是如此脆弱,死亡是如此接近.
级别: 新手上路
UID: 5391
精华: 0
发帖: 24
金钱: 240 两
威望: 240 点
综合积分: 48 分
注册时间: 2009-04-21
最后登录: 2009-06-04
楼主  发表于: 2009-06-02 04:33

 如何解决C的浮点数运算问题

板子QQ2440V3,内核2.6.13,编译器3.4.1
PC端操作系统Fedora 10

我的程序在板子上运行加密算法,然后在PC端解密,结果解密失败了。
然而在板子上加密后直接解密,或者在PC端加密后解密,都能得到正确结果。
最后发现加密时板子上产生的二进制序列(加密解密时需用到)与PC端所产生的不同(刚开始几十位还是相同的,之后就不一样了)。这是导致分开加密、解密失败的原因。
我这个加密算法中需要用到比较精确的浮点数(double类型)运算(精确到小数点后比较多的位数)。
不知道是否是浮点数精确度不一样所导致?有没有解决的方法?
级别: 新手上路
UID: 8156
精华: 0
发帖: 4
金钱: 25 两
威望: 13 点
综合积分: 8 分
注册时间: 2009-08-12
最后登录: 2013-07-31
1楼  发表于: 2009-08-12 15:22
看是不是需要将高低字节交换