Chinaunix

标题: 精度问题,问一下大家 [打印本页]

作者: sglilele    时间: 2006-07-21 12:43
标题: 精度问题,问一下大家
oracle数据库表中有个字段是rate 定义类型number(38,35),我在C语言中定义双精度double rate,这样够了吗?通过google查了很多精度的主题,感觉还是模糊,foalt支持小数点后6位的有效精度,double支持小数据点后16位的有效精度,这样的话,是不是应该定义为long double ,有些人说和操作系统和编译器的位数有关,有人说没有关系,我用的都是64位的,如果定义位long double 在代码上怎麽进行转换,把值插入到这个字段中去,各位给点建议吧。
作者: sglilele    时间: 2006-07-21 12:58
这么好的论坛,这么多的玩C类语言的高手,都是路过看看的,呵呵?
作者: hellioncu    时间: 2006-07-24 11:24
一般的实现long double 与double是一样的,你要那么高的精度看来只有用字符串存贮,自己写算法了
作者: liubinbj    时间: 2006-07-24 11:30
long double? 还真不知道有这么个东西,VC里好像没有吧,linux我就不知道了。如果有,会是128bit吗?要高精度计算还是用GMP吧。
作者: unicorns    时间: 2006-07-24 15:16
如果是64位的话
double是128bit

可以放的下了.

[ 本帖最后由 unicorns 于 2006-7-24 15:27 编辑 ]




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2